您的位置:首页 > 移动开发 > Android开发

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

2013-03-12 16:48 323 查看
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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: