题目:给定一个目录,判断该目录的大小,单位为G
思路:
递归拿到目录的子文件,然后取长度,累加
public class FileDemo02 { public static void main(String[] args) { FileDemo02 demo = new FileDemo02(); long size = demo .printDirSize(new File("D:/视频/极客学院知识体系/Java/4.Java语言进阶")); System.out.println("这个文件夹的大小为:" + (size / 1024.0 / 1024.0 / 1024.0) + "G"); } public long printDirSize(File dir) { if (dir.isFile()) { // 如果给定的是一个文件,则返回它的长度 return dir.length(); } long size = 0; // 设定一个变量,用于存放长度 File[] fileList = dir.listFiles();// 取目录的listFiles,递归判断长度 for (int i = 0; i < fileList.length; i++) { size += printDirSize(fileList[i]); } return size; } }
时间: 2024-11-03 22:27:49