分享

Android获取文件夹及文件大小整合成的帮助类

 东茹阁 2013-07-11
开发中刚用到要判断文件夹大小,觉得还是必要做记录的,所以贴出来分享下。
from:Kevin.Wei
代码片段,双击复制
01
02
03
04
05
06
07
08
09
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
package com.demo.file;
 
import java.io.File;
import java.text.DecimalFormat;
import java.io.FileInputStream;
 
public class GetFileSizeUtil {
 
private static GetFileSizeUtil instance;
 
public GetFileSizeUtil() {
}
 
public static GetFileSizeUtil getInstance() {
if (instance == null) {
instance = new GetFileSizeUtil();
}
return instance;
}
 
/*** 获取文件大小 ***/
public long getFileSizes(File f) throws Exception {
long s = 0;
if (f.exists()) {
FileInputStream fis = null;
fis = new FileInputStream(f);
s = fis.available();
} else {
f.createNewFile();
System.out.println("文件不存在");
}
return s;
}
 
/*** 获取文件夹大小 ***/
public long getFileSize(File f) throws Exception {
long size = 0;
File flist[] = f.listFiles();
for (int i = 0; i < flist.length; i++) {
if (flist<i>.isDirectory()) {
size = size + getFileSize(flist<i>);
} else {
size = size + flist<i>.length();
}
}
return size;
}
 
/*** 转换文件大小单位(b/kb/mb/gb) ***/
public String FormetFileSize(long fileS) {// 转换文件大小
DecimalFormat df = new DecimalFormat("#.00");
String fileSizeString = "";
if (fileS < 1024) {
fileSizeString = df.format((double) fileS) + "B";
} else if (fileS < 1048576) {
fileSizeString = df.format((double) fileS / 1024) + "K";
} else if (fileS < 1073741824) {
fileSizeString = df.format((double) fileS / 1048576) + "M";
} else {
fileSizeString = df.format((double) fileS / 1073741824) + "G";
}
return fileSizeString;
}
 
/*** 获取文件个数 ***/
public long getlist(File f) {// 递归求取目录文件个数
long size = 0;
File flist[] = f.listFiles();
size = flist.length;
for (int i = 0; i < flist.length; i++) {
if (flist<i>.isDirectory()) {
size = size + getlist(flist<i>);
size--;
}
}
return size;
}
 
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多