Java IO练习--查看D盘中所有的文件和文件夹名称,并且使用名称升序降序, 文件在前和文件夹在后,文件大小排序等。

该博客展示了如何使用Java进行文件操作,具体为查找D盘下所有文件和文件夹,然后按照文件夹优先、名称升序、文件大小升序进行三重排序。通过FileUtils和Collections.sort方法实现排序,最终将排序结果写入到allFile.txt文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
            }
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值