public static void main(String[] args) {
/*
* 1 创建键盘录入对象 2 .创建while死循环 3 读取键盘录入数据 4 对键盘录入数据进行判断 6 返回正确的file;
* 输入文件夹的大小 1 调出输入文件夹下所有的目录并组成数组 2 定义求和变量 3 遍历数组 4 判断是文件就读取长度,文件夹就递归执行
*/
File dir = gerDir();
long l =getLengh(dir);
System.out.println(l);
}
public static File gerDir(){
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;
}
}
}
public static long getLengh(File dir){
long len = 0;
File[] arr = dir.listFiles();
for (File file : arr) {
if(file.isFile()){
len = len+file.length();
}else{
len = len +getLengh(file);
}
}
return len;
}
|
|