/***SD卡是否存在**@returntrue存在false不存在*/publicbooleanisSdExist(){booleansdCardExist=Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);returnsdCardExist;}/***获得SD卡总大小*@parmsizeType:返回的SD卡大小的单位SIZETYPE_B,SIZETYPE_KB,SIZETYPE_MB,SIZETYPE_GB*@returndouble类型SD卡大小*/publicdoublegetSDTotalSize(intsizeType){if(isSdExist()){Filepath=Environment.getExternalStorageDirectory();StatFsstat=newStatFs(path.getPath());longblockSize=stat.getBlockSize();longtotalBlocks=stat.getBlockCount();returnFormetFileSize(blockSize*totalBlocks,sizeType);}return0;}/***获得SD卡总大小*@parmcontext上下文*@return*/publicStringgetSDTotalSize(Contextcontext){if(isSdExist()){Filepath=Environment.getExternalStorageDirectory();StatFsstat=newStatFs(path.getPath());longblockSize=stat.getBlockSize();longtotalBlocks=stat.getBlockCount();returnFormatter.formatFileSize(context,blockSize*totalBlocks);}return"";}/***获得SD卡剩余容量,即可用大小**@return*/publicdoublegetSDAvailableSize(intsizeType){if(isSdExist()){Filepath=Environment.getExternalStorageDirectory();StatFsstat=newStatFs(path.getPath());longblockSize=stat.getBlockSize();longavailableBlocks=stat.getAvailableBlocks();returnFormetFileSize(blockSize*availableBlocks,sizeType);}return0;}/***获得SD卡剩余容量,即可用大小**@return*/publicStringgetSDAvailableSize(Contextcontext){if(isSdExist()){Filepath=Environment.getExternalStorageDirectory();StatFsstat=newStatFs(path.getPath());longblockSize=stat.getBlockSize();longavailableBlocks=stat.getAvailableBlocks();returnFormatter.formatFileSize(context,blockSize*availableBlocks);}return"";}/***获取指定文件大小**@paramfile*@return*@throwsException*/@SuppressWarnings("resource")publiclonggetFileSize(Filefile)throwsException{longsize=0;if(file.exists()){FileInputStreamfis=null;fis=newFileInputStream(file);size=fis.available();}else{file.createNewFile();Log.e("获取文件大小","文件不存在!");}returnsize;}/***获取指定文件夹大小**@paramf*@return*@throwsException*/publiclonggetFileSizes(Filef)throwsException{longsize=0;Fileflist[]=f.listFiles();for(inti=0;i<flist.length;i++){if(flist[i].isDirectory()){size=size+getFileSizes(flist[i]);}else{size=size+getFileSize(flist[i]);}}returnsize;}/***获取指定文件的指定单位的大小**@paramfilePath文件路径*@paramsizeType获取大小的类型1为B、2为KB、3为MB、4为GB*@returndouble值的大小*/publicdoublegetFileOrFilesSize(StringfilePath,intsizeType){Filefile=newFile(filePath);if(!file.exists()){return0;}longblockSize=0;try{if(file.isDirectory()){blockSize=getFileSizes(file);}else{blockSize=getFileSize(file);}}catch(Exceptione){e.printStackTrace();Log.e("获取文件大小","获取失败!");}returnFormetFileSize(blockSize,sizeType);}publicstaticfinalintSIZETYPE_B=1;publicstaticfinalintSIZETYPE_KB=2;publicstaticfinalintSIZETYPE_MB=3;publicstaticfinalintSIZETYPE_GB=4;/***转换文件大小,指定转换的类型**@paramfileS*@paramsizeType*@return*/privatedoubleFormetFileSize(longfileS,intsizeType){DecimalFormatdf=newDecimalFormat("#.00");doublefileSizeLong=0;switch(sizeType){caseSIZETYPE_B:fileSizeLong=Double.valueOf(df.format((double)fileS));break;caseSIZETYPE_KB:fileSizeLong=Double.valueOf(df.format((double)fileS/1024));break;caseSIZETYPE_MB:fileSizeLong=Double.valueOf(df.format((double)fileS/1048576));break;caseSIZETYPE_GB:fileSizeLong=Double.valueOf(df.format((double)fileS/1073741824));break;default:break;}returnfileSizeLong;}/***创建文件**@parampath文件夹路径*@paramfileName文件名称*@return*/publicFilegetOutFile(Stringpath,StringfileName){if(!isSdExist()){returnnull;}if(path!=null){FilemediaStorageDir=newFile(path);if(!mediaStorageDir.exists()){if(!mediaStorageDir.mkdirs()){returnnull;}}}Filef=newFile(path+fileName);if(!f.exists()){try{f.createNewFile();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}returnf;}/***向已创建的文件中写入数据*@paramstr写入内容*@paramfileName文件名称*/@SuppressLint("SimpleDateFormat")publicvoidprint(Stringstr,StringfileName){//获取SD卡剩余大小doublesdSize=getSDAvailableSize();if(sdSize<3){return;}FileWriterfw=null;BufferedWriterbw=null;Stringdatetime="";try{SimpleDateFormattempDate=newSimpleDateFormat("yyyy-MM-dd"+""+"hh:mm:ss");datetime=tempDate.format(newjava.util.Date()).toString();//插入日期时间fw=newFileWriter(filenameTemp,true);////创建FileWriter对象,用来写入字符流bw=newBufferedWriter(fw);//将缓冲对文件的输出Stringmyreadline="["+datetime+"]"+str+"\n";bw.write(myreadline);//写入文件bw.newLine();bw.flush();//刷新该流的缓冲bw.close();fw.close();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();try{bw.close();fw.close();}catch(IOExceptione1){//TODOAuto-generatedcatchblock}}}/***获得机身内存总大小**@return*/publicStringgetRomTotalSize(Contextcontext){Filepath=Environment.getDataDirectory();StatFsstat=newStatFs(path.getPath());longblockSize=stat.getBlockSize();longtotalBlocks=stat.getBlockCount();returnFormatter.formatFileSize(context,blockSize*totalBlocks);}/***获得机身内存总大小*@parmsizeType返回大小的单位*@return*/publicdoublegetRomTotalSize(intsizeType){Filepath=Environment.getDataDirectory();StatFsstat=newStatFs(path.getPath());longblockSize=stat.getBlockSize();longtotalBlocks=stat.getBlockCount();returnFormetFileSize(blockSize*totalBlocks,sizeType);}/***获得机身可用内存**@return*/privateStringgetRomAvailableSize(Contextcontext){Filepath=Environment.getDataDirectory();StatFsstat=newStatFs(path.getPath());longblockSize=stat.getBlockSize();longavailableBlocks=stat.getAvailableBlocks();returnFormatter.formatFileSize(context,blockSize*availableBlocks);}/***获得机身可用内存**@return*/privatedoublegetRomAvailableSize(intesizeType){Filepath=Environment.getDataDirectory();StatFsstat=newStatFs(path.getPath());longblockSize=stat.getBlockSize();longavailableBlocks=stat.getAvailableBlocks();returnFormetFileSize(blockSize*availableBlocks,sizeType);}


更多相关文章

  1. android获取google邮箱
  2. android各种图片获取路径的方式
  3. Android获取、设置Wifi状态
  4. android input系统如何导入kl文件
  5. Android(安卓)获取系统应用信息
  6. Android(安卓)获取设备的物理尺寸
  7. Android(安卓)RadioButton 图片位置和大小
  8. 零点起飞学Android开发
  9. Android传感器编程入门(二)

随机推荐

  1. java.lang.UnsatisfiedLinkError: dlopen
  2. 感觉比较好的学习Android网站
  3. Basic4android 1.8,用 Basic 编写 Android
  4. Android内置倒计时类CountDownTimer
  5. android中得到颜色,图片资源的方式
  6. Android 升级ADT后,NoClassDefFoundError
  7. Android,使用Intent或Bundle传递参数,跳转
  8. android之uniapp原生打包
  9. Android 判断app是否正在播放音乐
  10. Android:自定义ImageView展示大图中的指定