经过网络搜索,整理 如下方法是可用的 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:使用SAX或者DOM或者pull操作XML文件
  2. Android(安卓)代码混淆
  3. android中getCacheDir(),getFilesDir(),getExternalFilesDir(),getE
  4. Android:打开程序的全屏页面
  5. 编译Android内核模块
  6. Android(安卓)UI设计技巧
  7. selector选择器
  8. Android开发便签9:在android资源文件中定义字符串数组
  9. NPM 和webpack 的基础使用

随机推荐

  1. Android(安卓)4.0开发环境搭建和测试
  2. android 系统(13)---Android O treble 新增
  3. Android之可收缩展开列表ExpandableList
  4. android修改底层键值
  5. android视频播放器源码分析
  6. Android(安卓)Touch事件分析
  7. WebKit For Android
  8. android常用控件(三)- ProgressBar、ListVi
  9. Android 开发学习中 各种问题收集
  10. 【Android】AndroidStudio无法创建原生模