整体思路
创建readSize(File file)方法,传入文件或者文件夹。将其列表化,遍历列表,判断是否为文件。文件则累加其大小,文件夹则重新调用readSize()方法进行遍历
package com.example.homework;
import org.apache.commons.io.FileUtils;
import java.io.File;
/**
* @Author zp
* @Date 2022/6/4 11:17 AM
* @Description: TODO
*/
public class WenJianSize {
public static void main(String[] args){
//文件夹里没有其他文件夹直接调用
long size = readSize(new File("/Users/zp/Downloads/apache-maven-3.8.5"));
//调用readSize方法,传入文件
//"Users/zp/Downloads/vueproject-master"文件地址
System.out.println(size+"bytes");
}
private static long readSize(File file) {
long size = 0;//初始文件或大小
File[] files = file.listFiles();//列表化
//遍历列表,如果是文件则累加文件大小,文件夹则重新调用readSize()方法遍历
for(File file1 : files){
if(file1.isFile()){
size+=file1.length();
}
else
size+=readSize(file1);
}
return size;
}
}