package com.kj.test;
import cn.hutool.core.io.IoUtil;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
* 查看D盘中所有的文件和文件夹名称,并且使用名称升序降序,
* 文件在前和文件夹在后,文件大小排序等。
*/
public class FileTest11 {
/**
* 1、查找文件和文件夹,可以使用写过方法,也可用工具类
* 2、排序使用list集合中Collections.sort方法
* 3、这里有三重排序,一是按文件夹来排序,二是按名称来排序,三是按大小来排序
* 这里如果按照一个维度来排序,是没有问题的,但三个都排序,不一定有效
* <p>
* 可以看到最后只有按文件大小是正确的排序,但总体是按文件--文件夹文件排序的
*/
public static void main(String[] args) {
List<File> files = (List<File>) FileUtils.listFiles(new File("D:"), null, true);
// 按文件夹先显示的顺序
Collections.sort(files, new Comparator<File>() {
@Override
public int compare(File o1, File o2) {
return (o2.isDirectory() ? 1 : -1) - (o1.isDirectory() ? 1 : -1);
}
Java IO练习--查看D盘中所有的文件和文件夹名称,并且使用名称升序降序, 文件在前和文件夹在后,文件大小排序等。
最新推荐文章于 2023-01-12 11:26:56 发布
该博客展示了如何使用Java进行文件操作,具体为查找D盘下所有文件和文件夹,然后按照文件夹优先、名称升序、文件大小升序进行三重排序。通过FileUtils和Collections.sort方法实现排序,最终将排序结果写入到allFile.txt文件中。

最低0.47元/天 解锁文章
547

被折叠的 条评论
为什么被折叠?



