你打印的时候 有的是文件 可以打印其大小 如果是文件夹 那么就不能打印其大小了,而返回由此抽象路径名表示的文件的长度。
我写了个获取文件夹大小的代码你看看,或许对你有用
package com.xyq.IO;
import java.io.File;
import java.util.Scanner;
public class File_Test02 {
/**从键盘接收一个文件夹路径,统计该文件夹大小*/
public static void main(String[] args) {
// TODO Auto-generated method stub
File file=demo01();
long length=getFileLength(file);
System.out.println(length);
}
public static File demo01() {
Scanner sc=new Scanner (System.in);
System.out.println("请输入一个文件夹名称");
while (true){
String line=sc.nextLine();
File file =new File (line);
if (!file.exists()){
System.out.println("你输入有误,请重新输入");
}else if(file.isFile()){
System.out.println("你输入的是文件,请输入文件夹");
}else{
return file;
}
sc.close();
}
}
public static long getFileLength(File file){
File [] arr=file.listFiles();
long length=0;
for (File file2 : arr) {
length+=file2.isFile()?file2.length():getFileLength(file2);
}
return length;
}
} |