java代码实现服务器文件全局检索/搜索

Posted 洛阳泰山

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java代码实现服务器文件全局检索/搜索相关的知识,希望对你有一定的参考价值。

核心代码如下 


import javax.swing.filechooser.FileSystemView;
import java.io.File;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

public class FileSearch 


    public static void main(String[] args) 
        getFile(File.listRoots()[1],"OpenOffice4");
    

    public static void getDisks(String name)
        //过滤掉非"本地磁盘"类型的磁盘
        FileSystemView fileSystemView = FileSystemView.getFileSystemView();// 获取FileSystemView对象
        File[] _files = File.listRoots();
        for (File file : _files) 
            // 获取磁盘的类型描述信息
            String diskType = fileSystemView.getSystemTypeDescription(file);
            System.out.println(diskType);
            //盘符类型包括:本地磁盘、可移动磁盘、CD 驱动器等
            if(diskType.equals("本地磁盘"))
                if(getFile(file,name).size()!=0)
                    break;
                ;
            

        
    

    public static List<File> getFile(File disk,String name)
      //  System.out.println(disk);
        File[] files=disk.listFiles();

        if(disk.isDirectory()&&files!=null)
                List<File> fileList=Arrays.asList(files);
                List<File> filters=fileList.stream().filter(e->e.getPath().contains(name)).collect(Collectors.toList());
                if(filters.size()!=0)
                    System.out.println("结果:"+filters);
                    return fileList;
                
                if(fileList.size()!=0)
                    fileList.forEach(f->
                        if(f.canRead()&&!f.isHidden())
                            getFile(f,name);
                        
                    );
                
        
        return Collections.emptyList();
    

单类实现,idea里运行主方法即可。

比如查询第二个磁盘,windows一般是D盘下的名字为OpenOffice4的文件夹或文件。

运行结果

 

以上是关于java代码实现服务器文件全局检索/搜索的主要内容,如果未能解决你的问题,请参考以下文章

mysql怎么实现全局的模糊搜索?

SES 之全局搜索小记

工作中的Elasticsearch-模糊检索

微信小程序实现全局搜索代码高亮

intellij idea全局搜索

一文让你轻松了解全文检索