/**
* 获取文件夹大小
* @param file File实例
* @return long 单位为M
* @throws Exception
*/
public static long getFolderSize(java.io.File file)throws Exception{
long size = 0;
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();
}
}
return size/1048576;
}
/**
* 文件大小单位转换
*
* @param size
* @return
*/
public static String setFileSize(long size) {
DecimalFormat df = new DecimalFormat("###.##");
float f = ((float) size / (float) (1024 * 1024));
if (f < 1.0) {
float f2 = ((float) size / (float) (1024));
return df.format(new Float(f2).doubleValue()) + "KB";
} else {
return df.format(new Float(f).doubleValue()) + "M";
}
}
/**
* 删除指定目录下文件及目录
*
* @param deleteThisPath
* @param filepath
* @return
*/
public void deleteFolderFile(String filePath, boolean deleteThisPath)
throws IOException {
if (!TextUtils.isEmpty(filePath)) {
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();
}
}
}
}
}