long | length() 返回由此抽象路径名表示的文件的长度。 |
package FileFilterDemo;
import java.io.File;
import java.io.FileFilter;
import java.util.Scanner;
public class LengthDemo {
static long ll = 0 ;
public static void main(String[] args) {
System.out.println("请输入要计算大小的文件夹路径");
String s = new Scanner(System.in).next();
File file = new File(s);
System.out.println("-----------------------");
if (file.exists()) {
//注意长度是long类型,如果输入的文件夹下文件太大或者子文件夹太多,
//会导致递归调用过多,内存溢出
System.out.println("总大小为"+getLength(file)+"字节");
//返回的字节, /1024.0(自动类型提升为double)(KB)/1024(MB)/1024(GB),
}else {
System.out.println("您输入的文件或者文件夹路径不存在!");
}
}
private static long getLength(File file) {
File [] files = file.listFiles();
//遍历这个路径下的文件或文件夹
for (File f : files) {
//如果是文件夹,递归调用
if (f.isDirectory()) {
System.out.println(f);
getLength(f);
}else {
//如果是文件,打印文件名,并获取文件的字节
System.out.println(f);
ll+= f.length();
}
}
return ll;
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |