用Java根据目录名实现文件搜索功能


根据你要搜索的文件的大致目录(比如D盘根目录),加上你要搜索的文件名(或部分文件名),有了这两个条件就可以实现文件搜索功能啦。
贴上java代码:

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class SearchFile {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入目的路径:");//磁盘根目录也可以,如D:
        String path = sc.nextLine();
        path = path.replaceAll("\\\\", "\\\\\\\\");
        System.out.print("请输入要搜索的文件名(不完整也可以):");
        String fileName = sc.nextLine();
        List<String> destpath = searchFile(path,fileName);
        if(destpath!=null&&destpath.size()>0){
            System.out.println("你要找的文件的目录如下:");
            for(String s:destpath){
                System.out.println(s);
            }
        }else{
            System.out.println("没有找到或您输入有误");
        }
        sc.close();
    }

    public static List<String> searchFile(String path,String fileName){
        if(path!=null&&fileName!=null){
            File file = new File(path);
            List<String> list = new ArrayList<String>();
            getFilesList(file,fileName,list);
            return list;
        }
        return null;
    }

    public static void getFilesList(File file,String fileName,List<String> list){
        if(file.exists()){
            if(file.isDirectory()){
                File[] files = file.listFiles();
                if(files!=null&&files.length>0){
                    for(File f:files){
                        getFilesList(f,fileName,list);
                    }
                }
            }else if(file.isFile()){
                if(file.getName().contains(fileName)){
                    list.add(file.getPath());
                }
            }
        }
    }
}

结果实验(粗体斜体是你要在控制台输入的目录和文件名):
请输入目的路径:d:
请输入要搜索的文件名(不完整也可以):邓丽君
你要找的文件的目录如下:
d:\酷狗下载\邓丽君\邓丽君 - 爱人.mp3
d:\酷狗下载\邓丽君\邓丽君 - 爱人就是我.mp3
d:\酷狗下载\邓丽君\邓丽君 - 爱人是个多情人.mp3
d:\酷狗下载\邓丽君\邓丽君 - 爱你一万倍.mp3
d:\酷狗下载\邓丽君\邓丽君 - 爱你又失去你.mp3
d:\酷狗下载\邓丽君\邓丽君 - 爱你爱到老.mp3
d:\酷狗下载\邓丽君\邓丽君 - 爱像一首歌.mp3
d:\酷狗下载\邓丽君\邓丽君 - 爱情.mp3
d:\酷狗下载\邓丽君\邓丽君 - 爱情与同情.mp3
d:\酷狗下载\邓丽君\邓丽君 - 爱情如风雨.mp3
d:\酷狗下载\邓丽君\邓丽君 - 爱惜花.mp3
d:\酷狗下载\邓丽君\邓丽君 - 爱慕.mp3
d:\酷狗下载\邓丽君\邓丽君 - 爱我像爱花一样.mp3
d:\酷狗下载\邓丽君\邓丽君 - 爱的使者.mp3
d:\酷狗下载\邓丽君\邓丽君 - 爱的寂寞.mp3
……


  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值