Java文件学习笔记--检测输出文件夹下所有重复文件及路径

这篇博客介绍了一种方法,通过Java编程来检测指定文件夹下所有重复的文件,即文件名相同且大小一致的文件。作者创建了一个MyFile类,虽然认为其实现不够理想,但能有效找出重复文件并输出它们的绝对路径。递归算法被用来遍历文件夹,适应Windows和Linux/Macos等不同操作系统。
摘要由CSDN通过智能技术生成

通过输入一个文件夹的路径名称,然后编写程序找出该文件夹下文件名称重复并且文件大小也一样的文件,如果没有“重复文件”,则输出“没有重复文件”的提示,如果有,需要输出文件名称,和文件所在的文件夹路径(绝对路径)。

在这里应原题要求重写了一个MyFile类,其实感觉实现的不太好,正确方法应该应用创建的类重载equal函数,有空补充一下简便的方法(●'◡'●)

算法里通过file的两个属性判断子目录是文件夹还是文件,然后采用递归的方法得到文件夹下所有的文件,并暂存在集合中,然后遍历集合找出相同的文件并输出,边遍历边删除,防止重复操作,提高效率

应用file的separator属性,适配了Windows和Linux/Macos多种环境

package com.zputil;

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class MyFile {
    private String fileName;
    private String filePath;

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getFilePath() {
        return filePath;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值