package com.whh.test;
import java.io.File;
import java.util.Scanner;
public class test5 {
/**
* @param args
* 从键盘接收一个文件夹路径,统计该文件夹大小
* 分析:
* File只有获取到文件的大小的方法 没有获取文件夹的方法
* 所以用递归去获取文件夹内每个文件的大小然后去相加;
*/
public static void main(String[] args) {
while(true) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入文件路径");
String s = sc.nextLine();
File file = new File(s);
if(file.isDirectory()){
long size = getFilesSize(file);
System.out.println("该文件夹大小为:" + size);
break;
}else {
System.out.println("输入的不是一个文件夹路径");
}
}
}
public static long getFilesSize(File file) {
//获得文件夹下的所有文件和文件夹;
File[] filearr = file.listFiles();
//设置初始大小为0,防止异常
long size = 0;
//遍历文件数组
for(File f : filearr) {
//如果是文件就加上改文件的大小
if(f.isFile()){
size = size + f.length();
//如果是目录则进入目录递归,获取该目录中的所有文件大小;
}else if(f.isDirectory()) {
size = size + getFilesSize(f);
}
}
//返回文件夹内所有文件的大小;
return size;
}
}
从键盘接收一个文件夹路径,统计该文件夹大小
最新推荐文章于 2021-07-11 14:45:19 发布