package com.heima.homework;
import java.io.File;
import java.util.Scanner;
public class Statistics_Byte {
/*1,从键盘接收一个文件夹路径,统计该文件夹大小
* 分析:
* 1.创建一个接收文件夹路径的方法
* 2.创建一个递归方法,返回文件夹大小的方法
* */
public static void main(String[] args) {
System.out.println(getDirSize(getDirPath()));
}
public static File getDirPath(){
Scanner sc=new Scanner(System.in);
System.out.println("please enter a direction path");
String line =sc.nextLine();
File file=new File(line);
return file;
}
public static double getDirSize(File file) {
//判断文件是否存在
if (file.exists()) {
//如果是目录则递归计算其内容的总大小
if (file.isDirectory()) {
File[] children = file.listFiles();
double size = 0;
for (File f : children)
size += getDirSize(f);
return size;
} else {//如果是文件则直接返回其大小,以“兆”为单位
double size = (double) file.length() / 1024 / 1024;
return size;
}
} else {
System.out.println("文件或者文件夹不存在,请检查路径是否正确!");
return 0.0;
}
}
} |