`

Java查找文件

阅读更多

1 。------------------------------------------------


package net.mindview.util;

import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Pattern;

public final class Directory
{
    
public static File[] local(File dir, final String regex)
    {
        
return dir.listFiles( new FilenameFilter() {
            
private Pattern pattern = Pattern.compile(regex);

            
public boolean accept(File dir, String name)
            {
                
return pattern.matcher( new File(name).getName()).matches();
            }
        });
    }

    
public static File[] local(String path, final String regex)
    {
// Overloaded
         return local( new File(path), regex);
    }

    
// A two-tuple for returning a pair of objects:
     public static class TreeInfo implements Iterable < File >
    {
        
public List < File > files = new ArrayList < File > ();
        
public List < File > dirs = new ArrayList < File > ();

        
// The default iterable element is the file list:
         public Iterator < File > iterator()
        {
            
return files.iterator();
        }

        
void addAll(TreeInfo other)
        {
            files.addAll(other.files);
            dirs.addAll(other.dirs);
        }

 

       public String toString()
        {
                        
// 这里的PPrint.pformat(dirs)是什么意思?是自定义类? 高分求解!;
             return " dirs: " + PPrint.pformat(dirs) + " \n\nfiles: "
                    
+ PPrint.pformat(files);
        }
    }

    
public static TreeInfo walk(String start, String regex)
    {
// Begin recursion
         return recurseDirs( new File(start), regex);
    }

    
public static TreeInfo walk(File start, String regex)
    {
// Overloaded
         return recurseDirs(start, regex);
    }

    
public static TreeInfo walk(File start)
    {
// Everything
         return recurseDirs(start, " .* " );
    }

    
public static TreeInfo walk(String start)
    {
        
return recurseDirs( new File(start), " .* " );
    }

    
static TreeInfo recurseDirs(File startDir, String regex)
    {
        TreeInfo result
= new TreeInfo();
        
for (File item : startDir.listFiles()) {
            
if (item.isDirectory()) {
                result.dirs.add(item);
                result.addAll(recurseDirs(item, regex));
            }
else // Regular file
             if (item.getName().matches(regex))
                result.files.add(item);
        }
        
return result;
    }

    
// Simple validation test:
     public static void main(String[] args)
    {
        
if (args.length == 0 )
            System.out.println(walk(
" . " ));
        
else
            
for (String arg : args)
                Syst
em.out.println(walk(arg));
    }
} // /:

 

 

2.--------------------------------------

 

package com.abt.operator;

import java.io. * ;
import java.util. * ;

public class SeacherThread {
    
public static void main(String args[]) {
        Find f
= new Find();
        Thread thread
= new Thread(f);
        thread.start();
    }
}

class Find implements Runnable {
    
private void getFile(File file[]) {
        
for (File f : file) {
            
if (f.getName().endsWith( " .html " )) {
                System.out.println(f.getName());
            }
            
if (f.isFile())
                
continue ;
            
if (f.isDirectory()) {
                File[] ffile
= f.listFiles( new FilenameFilter() {

                    @Override
                    
public boolean accept(File dir, String name) {
                        
// TODO Auto-generated method stub
                         return true ;
                    }
                });
                getFile(ffile);
            }
        }
    }

    @Override
    
public void run() {
        
// TODO Auto-generated method stub
        File f = new File( " D:/ " );
        File[] file
= f.listFiles( new FilenameFilter() {
            @Override
            
public boolean accept(File dir, String name) {
                
// TODO Auto-generated method stub
                 return true ;
            }
        });
        getFile(file);
    }
}

分享到:
评论

相关推荐

    java实现根据关键字查找所在文件夹的文件

    在Java编程语言中,实现根据关键字查找文件夹内包含该关键字的文件是一项常见的任务,尤其在数据处理、日志分析或者文件管理系统中。这个功能可以帮助用户快速定位到含有特定信息的文件,提高工作效率。以下是一个...

    Java 通过通配符查找文件 *.*, *.java, a*.*, a*.java

    Java 通过通配符查找文件 例如:*.*, *.java, a*.*, a*.java

    Java 从txt文件查找数据

    在Java编程语言中,处理文本文件,特别是查找和提取数据,是常见的任务。"Java 从txt文件查找数据"这个主题涵盖了几个关键知识点,包括文件I/O操作、字符串处理和正则表达式。下面我们将详细探讨这些内容。 1. 文件...

    java极速文件搜索工具

    Java 极速文件搜索工具是一种基于Java编程语言开发的应用程序,专为提高文件搜索效率而设计。相较于Windows操作系统自带的搜索功能,它提供了更快的速度和更便捷的用户体验。这款工具的核心优势在于其优化的搜索算法...

    java快速查找文件,文件内容工具 fills-search-tools.exe

    1.查找关键字文件名、文件目录 2.查找关键字文件内容 3.查找关键字特殊文档内容(xml,doc,ppt,pdf,log,png,jpg等)

    Java简易文件管理器

    1.查找文件功能:可以根据指定的目录名与待查找的文件,在指定目录中进行查找,并返回结果。2.实现文件的拷贝与粘贴功能。3.实现文本类文件(.txt, .java, .ini, .bat, )的预览功能(比如实现对前100行文本在某个小...

    java重复文件查找

    在Java编程领域,重复文件查找是一项常见的需求,尤其是在大型项目或者资源管理中。这个程序能够帮助用户在指定的目录下高效地找出所有重复的.java和.class文件,这对于我们理解和优化项目结构、节省存储空间至关...

    java 文件搜索引挚

    Java 文件搜索引挚是用于在计算机系统中快速查找指定类型或具有特定属性的文件的工具。这个工具通常基于Java编程语言开发,利用Java的强大功能和跨平台特性,为用户提供高效、便捷的文件检索服务。在Java中实现文件...

    ajax实现java文件下载

    2. **后端**:FileAction接收到请求后,解析请求参数,查找并读取匹配条件的文件。设置响应头,例如`Content-Type`为文件的MIME类型,`Content-Disposition`设置为`attachment; filename=文件名`,以触发浏览器的...

    java 搜索文件

    使用这个自己写的jar包实现根据内容搜索文件的功能 可以在一个文件夹下搜索以txt和html结尾的文件

    Java做的电脑快速文件查找(比电脑自带的快多了)瞬间查找文件

    标题中的“Java做的电脑快速文件查找”指的是使用Java编程语言实现的一种高效文件搜索工具,它能够在计算机中迅速定位到所需的文件。与操作系统自带的文件搜索功能相比,这种Java实现的工具在首次运行时可能需要...

    查找重复文件和同名文件[java code]

    总的来说,这个Java实现的工具提供了便捷的文件查找和管理功能,适用于个人用户和企业环境,有助于清理和优化存储空间。通过理解和定制这个工具,用户可以进一步适应自己的具体需求,提高工作效率。

    java文件路径获取

    ### Java 文件路径获取方法详解 #### 一、引言 在Java开发中,经常会遇到需要获取文件路径的情况,尤其是在处理配置文件、图片等资源时。本文将详细介绍Java中获取文件路径的各种方法及其应用场景,帮助开发者更好...

    基于Java的文件管理系统.zip

    Java文件管理系统,支持权限管理、历史版本管理、Office编辑、Office预览、在线解压缩、文件分享、文件加密、远程存储、跨仓库推送、跨服务器推送、秒传、断点续传、智能搜索、文件备注、自动备份、一键迁移。...

    java编写的文件搜索器

    在Java编程领域,文件搜索器是一个实用的工具,它能够帮助用户快速查找并定位到指定目录下的特定文件或文件类型。这个项目展示了如何利用Java语言的丰富功能来实现这一目标。接下来,我们将深入探讨其中涉及的关键...

    java文件搜索器(完整)

    【Java文件搜索器】是一个基于Java编程语言实现的实用工具,它允许用户在计算机的各个磁盘或指定的文件夹中快速查找特定的文件。这个应用程序利用了Java强大的I/O和文件操作功能,为用户提供了一个方便的方式来定位...

    java 查找文件夹下 txt文件

    利用java 查找指定文件下的txt文件,并得到txt的名称 string类型

    非常好用的java版文件极速搜索工具(可按内容搜索)

    1.对于word excel txt等一些文本类型的文件,支持按内容及标题搜索。 2.开启工具后,实时监控全盘,文件变化立即更新可查 3.搜索速度极快,秒搜。 4.初次使用请先点击索引服务。 5.4分绝对超值

    java中读取目录下指定的文件

    例如,要查找所有的`.txt`文件: ```java File[] textFiles = directory.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return name.endsWith(".txt"); } }); ...

    java遍历文件目录生成树结构txt文件

    在运行`java Dir`命令时,Java虚拟机(JVM)会查找当前目录下的`Dir.class`文件,并执行其中的代码。如果`Dir.class`是`Dir.java`的编译结果,那么`Dir.java`应该包含上述提到的逻辑。 总的来说,这个任务涉及到...

Global site tag (gtag.js) - Google Analytics