java/android 统计文件夹大小及删除文件夹下所有文件和路径
16lz
2021-01-23
经过网络搜索,整理 如下方法是可用的 java/android 统计文件夹大小及删除文件夹下所有文件和路径
/** * 获取文件夹大小 * @param file File实例 * @return long */ public static long getFolderSize(java.io.File file){ long size = 0; try {java.io.File[] fileList = file.listFiles(); for (int i = 0; i < fileList.length; i++) { if (fileList[i].isDirectory()) { size = size + getFolderSize(fileList[i]); }else{ size = size + fileList[i].length(); } }} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} //return size/1048576; return size; } /** * 删除指定目录下文件及目录 * @param deleteThisPath * @param filepath * @return */ public void deleteFolderFile(String filePath, boolean deleteThisPath) { if (!TextUtils.isEmpty(filePath)) { try {File file = new File(filePath); if (file.isDirectory()) {// 处理目录 File files[] = file.listFiles(); for (int i = 0; i < files.length; i++) { deleteFolderFile(files[i].getAbsolutePath(), true); } } if (deleteThisPath) { if (!file.isDirectory()) {// 如果是文件,删除 file.delete(); } else {// 目录 if (file.listFiles().length == 0) {// 目录下没有文件或者目录,删除 file.delete(); } } }} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} } } /** * 格式化单位 * @param size * @return */public static String getFormatSize(double size) {double kiloByte = size/1024;if(kiloByte < 1) {return size + "Byte(s)";}double megaByte = kiloByte/1024;if(megaByte < 1) {BigDecimal result1 = new BigDecimal(Double.toString(kiloByte));return result1.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "KB";}double gigaByte = megaByte/1024;if(gigaByte < 1) {BigDecimal result2 = new BigDecimal(Double.toString(megaByte));return result2.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "MB";}double teraBytes = gigaByte/1024;if(teraBytes < 1) {BigDecimal result3 = new BigDecimal(Double.toString(gigaByte));return result3.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "GB";}BigDecimal result4 = new BigDecimal(teraBytes);return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "TB";}
更多相关文章
- android中getCacheDir(),getFilesDir(),getExternalFilesDir(),getE
- Android:使用SAX或者DOM或者pull操作XML文件
- android系统中运行jar文件
- 使用android MediaPlayer播放音频文件时,有时会出现prepareasync
- Android 源代码编后的目录分析
- Android Studio NDK及so文件开发 以及常见错误
- Android Device Monitor无法查看data目录解决办法