注意:File.length()只能用于计算文件大小,不能用于统计文件夹大小。
/**统计文件大小
* @param file
* @return
*/
public static long getFileLength(File file) {
if(file.isFile()){
return file.length();
}
long len = 0;
File[] files = file.listFiles();
for(File f:files){
if(f.isFile()){
len = len + f.length();
}else{
len = len + getFileLength(f);
}
}
return len;
}
注意:File.delete();只能用于删除单个文件
/**删除文件
* @param dir
*/
public static void deleteFile(File dir) {
if(dir.isFile()){
dir.delete();
}else{
File[] files = dir.listFiles();
for(File f:files){
if(f.isFile()){
f.delete();
}else{
deleteFile(f);
}
}
}
//循环结束后,把空文件夹删掉
dir.delete();
}