激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Android - Android查看文件夾大小以及刪除文件夾的工具類

Android查看文件夾大小以及刪除文件夾的工具類

2022-02-27 16:39獨在黑夜看湖面 Android

這篇文章主要介紹了Android查看文件夾大小以及刪除文件夾的工具類,Android計算文件夾大小和刪除目錄,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在開發中當程序發生ANR或者異常,我們會將信息存在本地,然后上傳服務器,這樣可以實時去發現問題修改問題。

那我們需要獲取文件之后需要對文件進行刪除等操作,下面是寫的一個工具類,用于查看文件夾大小以及刪除文件夾。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
import android.text.TextUtils;
 
import java.io.File;
import java.math.BigDecimal;
 
 
public class StorageCleanUtils {
 
 /**
  * 獲取文件夾大小(遞歸)
  *
  * @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) {
   e.printStackTrace();
  }
  return size;
 }
 
 
 /**
  * 獲取當前文件夾大小,不遞歸子文件夾
  *
  * @param file
  * @return
  */
 public static long getCurrentFolderSize(File file) {
  long size = 0;
  try {
   java.io.File[] fileList = file.listFiles();
   for (int i = 0; i < fileList.length; i++) {
    if (fileList[i].isDirectory()) {
     //跳過子文件夾
 
    } else {
     size = size + fileList[i].length();
 
    }
   }
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return size;
 }
 
 
 /**
  * 刪除指定目錄下文件及目錄
  *
  * @param deleteThisPath
  * @param filePath
  * @return
  */
 public static boolean 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();
      }
     }
    }
    return true;
   } catch (Exception e) {
    e.printStackTrace();
    return false;
   }
  }
  return false;
 }
 
 
 /**
  * 刪除指定目錄下文件
  *
  * @param filePath
  * @return
  */
 public static void deleteFile(String filePath) {
  if (!TextUtils.isEmpty(filePath)) {
   try {
    File file = new File(filePath);
    java.io.File[] fileList = file.listFiles();
    for (int i = 0; i < fileList.length; i++) {
     if (!fileList[i].isDirectory()) {
      fileList[i].delete();
     }
    }
   } catch (Exception e) {
    e.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";
 }
 
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/qq_32532321/article/details/80522306

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜精品福利影院 | 国产亚洲精品久久久久久久久 | 免费a级黄色片 | 免费特黄 | 欧美一区二区三区四区五区动图 | 国产精品刺激对白麻豆99 | 免费视频精品一区二区 | 日日操视频 | 国产精品久久久久久久久久电影 | 免费男女乱淫真视频 | 欧美日韩综合视频 | 亚洲性生活免费视频 | 久久成人激情视频 | 中文字幕涩涩久久乱小说 | 欧美精品电影一区 | 成人一级视频在线观看 | 青草视频在线观看视频 | 日本不卡一区在线观看 | 国产喷白浆10p | 黄色成人短视频 | 久久精品免费国产 | 国产精品伦视频看免费三 | 日韩精品免费一区二区三区 | 日日摸夜夜添夜夜添牛牛 | 看免费一级毛片 | 亚洲国产中文字幕 | 国产青草视频在线观看 | 成人在线视频免费 | 懂色粉嫩av久婷啪 | 在线看一区二区三区 | 欧美www| 国产一级一片免费播放 | 久久资源总站 | www.成人免费视频 | 国产亚洲精品久久久久5区 综合激情网 | 欧美18xxxx | 日韩精品a在线观看 | 久草在线视频免费播放 | 久久久久性 | 久久精品污 | 欧美 亚洲 激情 |