经过网络搜索,整理 如下方法是可用的 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";}


更多相关文章

  1. android中getCacheDir(),getFilesDir(),getExternalFilesDir(),getE
  2. Android:使用SAX或者DOM或者pull操作XML文件
  3. android系统中运行jar文件
  4. 使用android MediaPlayer播放音频文件时,有时会出现prepareasync
  5. Android 源代码编后的目录分析
  6. Android Studio NDK及so文件开发 以及常见错误
  7. Android Device Monitor无法查看data目录解决办法

随机推荐

  1. Android(安卓)系统(84)---查看分区的大小
  2. Android判断下载File是否为apk文件
  3. Android复习(三)
  4. Android(安卓)Design Support Library
  5. 自定义android模块不编译的问题
  6. Android(安卓)Studio常见错误及解决方法
  7. Android实现振动效果
  8. Android(安卓)之 GrideView网格视图
  9. 常见问题汇总一
  10. Android根据电话号码取得联系人姓名及头