package com.xsyu.dcf23;

import java.io.File;

public class Test {

	public static void main(String[] args) {
		File dir = getDir();
		System.out.println(getFilelength(dir));
	}
	/*从键盘接收一个文件夹路径,统计文件夹的大小*/
	public static File getDir() {
		
		Scanner sc =new Scanner(System.in);//创建键盘录入对象
		System.out.println("请输入一个文件夹路径");

		while (true) {
			String line = sc.nextline();
			File dir = new File(line);
			if (!dir.exists()) {
				System.out.println("您录入的文件夹路径不存在,请重新输入");
			}else if(dir.exists()){
				System.out.println("您录入的是文件路径,请输入一个文件夹路径");
			}else {
				return dir;
			}
		}
	}

	public static long getFilelength(File dir) {
		long len = 0;
		File[] subfile = dir.listFiles();
		for (File subFile : subfile) {
			if (subFile.isFile()) {
				len = len + subFile.length();
			} else {
				len = len + getFilelength(subFile);
			}
		}
		return len;
	}
}