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, a*.*, a*.java
在Java编程语言中,处理文本文件,特别是查找和提取数据,是常见的任务。"Java 从txt文件查找数据"这个主题涵盖了几个关键知识点,包括文件I/O操作、字符串处理和正则表达式。下面我们将详细探讨这些内容。 1. 文件...
Java 极速文件搜索工具是一种基于Java编程语言开发的应用程序,专为提高文件搜索效率而设计。相较于Windows操作系统自带的搜索功能,它提供了更快的速度和更便捷的用户体验。这款工具的核心优势在于其优化的搜索算法...
1.查找关键字文件名、文件目录 2.查找关键字文件内容 3.查找关键字特殊文档内容(xml,doc,ppt,pdf,log,png,jpg等)
1.查找文件功能:可以根据指定的目录名与待查找的文件,在指定目录中进行查找,并返回结果。2.实现文件的拷贝与粘贴功能。3.实现文本类文件(.txt, .java, .ini, .bat, )的预览功能(比如实现对前100行文本在某个小...
在Java编程领域,重复文件查找是一项常见的需求,尤其是在大型项目或者资源管理中。这个程序能够帮助用户在指定的目录下高效地找出所有重复的.java和.class文件,这对于我们理解和优化项目结构、节省存储空间至关...
Java 文件搜索引挚是用于在计算机系统中快速查找指定类型或具有特定属性的文件的工具。这个工具通常基于Java编程语言开发,利用Java的强大功能和跨平台特性,为用户提供高效、便捷的文件检索服务。在Java中实现文件...
2. **后端**:FileAction接收到请求后,解析请求参数,查找并读取匹配条件的文件。设置响应头,例如`Content-Type`为文件的MIME类型,`Content-Disposition`设置为`attachment; filename=文件名`,以触发浏览器的...
使用这个自己写的jar包实现根据内容搜索文件的功能 可以在一个文件夹下搜索以txt和html结尾的文件
标题中的“Java做的电脑快速文件查找”指的是使用Java编程语言实现的一种高效文件搜索工具,它能够在计算机中迅速定位到所需的文件。与操作系统自带的文件搜索功能相比,这种Java实现的工具在首次运行时可能需要...
总的来说,这个Java实现的工具提供了便捷的文件查找和管理功能,适用于个人用户和企业环境,有助于清理和优化存储空间。通过理解和定制这个工具,用户可以进一步适应自己的具体需求,提高工作效率。
### Java 文件路径获取方法详解 #### 一、引言 在Java开发中,经常会遇到需要获取文件路径的情况,尤其是在处理配置文件、图片等资源时。本文将详细介绍Java中获取文件路径的各种方法及其应用场景,帮助开发者更好...
Java文件管理系统,支持权限管理、历史版本管理、Office编辑、Office预览、在线解压缩、文件分享、文件加密、远程存储、跨仓库推送、跨服务器推送、秒传、断点续传、智能搜索、文件备注、自动备份、一键迁移。...
在Java编程领域,文件搜索器是一个实用的工具,它能够帮助用户快速查找并定位到指定目录下的特定文件或文件类型。这个项目展示了如何利用Java语言的丰富功能来实现这一目标。接下来,我们将深入探讨其中涉及的关键...
【Java文件搜索器】是一个基于Java编程语言实现的实用工具,它允许用户在计算机的各个磁盘或指定的文件夹中快速查找特定的文件。这个应用程序利用了Java强大的I/O和文件操作功能,为用户提供了一个方便的方式来定位...
利用java 查找指定文件下的txt文件,并得到txt的名称 string类型
1.对于word excel txt等一些文本类型的文件,支持按内容及标题搜索。 2.开启工具后,实时监控全盘,文件变化立即更新可查 3.搜索速度极快,秒搜。 4.初次使用请先点击索引服务。 5.4分绝对超值
例如,要查找所有的`.txt`文件: ```java File[] textFiles = directory.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return name.endsWith(".txt"); } }); ...
在运行`java Dir`命令时,Java虚拟机(JVM)会查找当前目录下的`Dir.class`文件,并执行其中的代码。如果`Dir.class`是`Dir.java`的编译结果,那么`Dir.java`应该包含上述提到的逻辑。 总的来说,这个任务涉及到...