你可以使用 java.io.File 类来获取当前文件夹下的文件夹大小,并使用 java.util.Comparator 接口来排序文件夹。

下面是一个示例代码:

import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class FolderSize {
    public static void main(String[] args) {
        File currentFolder = new File(".");
        List<File> folders = new ArrayList<>();

        // 获取当前文件夹下的所有文件夹
        for (File file : currentFolder.listFiles()) {
            if (file.isDirectory()) {
                folders.add(file);
            }
        }

        // 排序文件夹
        Collections.sort(folders, new Comparator<File>() {
            @Override
            public int compare(File f1, File f2) {
                long size1 = getFolderSize(f1);
                long size2 = getFolderSize(f2);
                return Long.compare(size1, size2);
            }
        });

        // 打印文件夹路径和大小
        for (File folder : folders) {
            long size = getFolderSize(folder);
            System.out.println(folder.getAbsolutePath() + " - " + size + " bytes");
        }
    }

    // 获取文件夹大小
    public static long getFolderSize(File folder) {
        long size = 0;
        for (File file : folder.listFiles()) {
            if (file.isFile()) {
                size += file.length();
            } else if (file.isDirectory()) {
                size += getFolderSize(file);
            }
        }
        return size;
    }
}

上面的代码首先获取当前文件夹下的所有文件夹,并将它们存储在一个 List<File> 中。然后使用 Collections.sort 方法对文件夹进行排序,排序的依据是文件夹的大小。最后,遍历排序后的文件夹列表,打印文件夹的路径和大小。

注意:上述代码中使用了递归来计算文件夹的大小,如果文件夹层级较深或者文件夹中包含大量文件,可能会导致性能问题。你可以根据实际情况进行优化

java 获取当前文件夹下的文件夹大小并排序

原文地址: http://www.cveoy.top/t/topic/ioXu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录