package MuMu.homework.day22;
import java.io.File;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
// 2.从键盘接收一个文件夹路径,统计该文件夹大小。
//将获取到的文件夹路径,使用list()方法,存入File[] 集合中,然后利用递归遍历该集合,获取所有的文件,统计大小,累加
//其中要使用递归来统计累加大小,故定义成员变量sum
File dir = getDir();
sumLength(dir);
System.out.println(sum/1024+"KB");
}
public static long sum=0;
//定义获取文件的方法,返回File
public static File getDir(){
System.out.println("请输入一个文件夹路径:");
Scanner scan = new Scanner(System.in);
while(true){
String str = scan.nextLine();
File dir = new File(str);
if(dir.isDirectory()){
return dir;
}
System.out.println("输入的不是文件夹路径,请重新录入:");
continue;
}
}
public static void sumLength(File dir){
File[] listFiles = dir.listFiles();
for(File f : listFiles){
if(f.isFile()){
sum+=f.length();
}
else
sumLength(f);
}
}
}
|
|