java文件操作 (封装对文件迭代查询等功能)
public class ListFileUtil {
//指定目录下的所有文件信息
public static void listAllFiles(String dirName){
if(!dirName.endsWith(File.separator)){
dirName = dirName + File.separator;
System.out.println(dirName);
}
File dirFile = new File(dirName);
if(!dirFile.exists()||!dirFile.isDirectory()){
System.out.println("找不到目录"+dirName);
}
File[] files = dirFile.listFiles();
if(files.length > 0){
for(int i=0;i<files.length;i++){
if(files[i].isFile()){
System.out.println(files[i].getAbsolutePath()+"是文件");
}else if(files[i].isDirectory()){
System.out.println(files[i].getAbsolutePath() + "是目录");
listAllFiles(files[i].getAbsolutePath());
}
}
}
}
//指定目录下,指定文件后缀的文件信息
public static void listFilenameByFilenameFilter(FilenameFilter filter,String dirName){
if(!dirName.endsWith(File.separator)){
dirName = dirName + File.separator;
System.out.println(dirName);
}
File dirFile = new File(dirName);
if(!dirFile.exists()||!dirFile.isDirectory()){
System.out.println("找不到目录"+dirName);
}
File[] files = dirFile.listFiles(filter);
if(files.length > 0){
for(int i=0;i<files.length;i++){
if(files[i].isFile()){
System.out.println(files[i].getAbsolutePath()+"是文件");
}else if(files[i].isDirectory()){
System.out.println(files[i].getAbsolutePath() + "是目录");
ListFileUtil.listFilenameByFilenameFilter(filter,files[i].getAbsolutePath());
}
}
}
}
//文件后缀名过滤器,过滤文件后缀名
//内部类作为该类的成员变量
static class MyFilenameFilter implements FilenameFilter{
private String suffix = "";
public MyFilenameFilter(String suffix){
this.suffix = suffix;
}
public boolean accept(File dir, String name) {
if(new File(dir,name).isFile()){
return name.endsWith(suffix);
}else{
return true;
}
}
}
//测试方法
public static void main(String[] args) {
String dir = "D:/filetest";
ListFileUtil.listAllFiles(dir);
System.out.println();
System.out.println("经过过滤以后的内容");
FilenameFilter ff = new ListFileUtil.MyFilenameFilter(".docx");
ListFileUtil.listFilenameByFilenameFilter(ff,dir);
}
}
以上功能封装可用于javaSwing 查询文件系统,jsp等对文件的操作
分享到:
相关推荐
在Java编程语言中,IO(Input/Output)流是一组用于数据传输的类,它们允许程序读取和写入数据,无论是从磁盘、网络还是其他输入输出设备。Java的IO流系统是一个强大的工具,它提供了一种统一的方式来处理不同类型的...
Java IO 是Java编程语言中处理输入/输出流的重要部分,它是连接程序与外部世界的桥梁,允许数据在程序和外部资源之间流动。`commons-io-2.5.jar` 是Apache Commons项目的一部分,它提供了一系列增强和扩展了Java标准...
1. **文件操作**: Commons IO 提供了丰富的文件操作类,如FileUtils,可以进行文件复制、移动、删除等操作,同时支持文件和目录的递归处理。此外,还有FileExistsException、FileExtensionFilter等,帮助处理文件...
- **线程安全的流**:提供线程安全的输入输出流实现。 - **临时文件系统**:提供创建临时文件和目录的方法。 - **IO异常工具**:提供方便的异常处理工具,简化错误处理代码。 3. **Apache Commons IO 2.7 版本...
这个版本的 JAR 文件包含了丰富的输入/输出流、文件操作、I/O 流工具类以及与文件系统交互的相关功能。下面将详细介绍 `commons-io-2.6.jar` 中的关键知识点。 1. **基本文件操作**: - `FileUtils` 类提供了大量...
这个库提供了一系列与输入输出操作相关的实用工具类,极大地简化了Java程序员处理IO任务的复杂性。标题提到的"commons-io-2.4.jar"是这个库的一个版本,版本号为2.4,表明它是官方发布的稳定版本,对先前版本进行了...
2. 流操作:提供了许多对输入/输出流进行读写、转换和操作的工具类,如`BufferedInputStream` 和 `BufferedOutputStream`,以及处理字符编码的`CharStreams`。此外,还有用于读取和写入流的便捷方法,如`IOUtils....
3. **读取文件**:使用Commons IO库读取文件内容,将其写入到响应的输出流中。 4. **关闭流**:确保所有的流都被正确关闭,避免资源泄漏。 五、代码示例 ```java // 文件上传 public class UploadServlet extends ...
2. **流处理**:提供各种类型的输入/输出流,支持缓冲、转换、过滤等操作。 3. **文件比较**:可以比较文件内容是否相同,或者根据日期、大小等属性进行比较。 4. **字符集转换**:处理不同字符编码的文件,如读取或...
它提供了大量的实用方法,涵盖了文件操作、流操作、转换、读写操作、字符集检测等诸多方面。在处理文件上传时,`commons-io`库可以帮助开发者完成诸如文件复制、移动、重命名、检查文件属性等操作。版本2.6对之前...
2. 流操作:提供对输入流和输出流的高级封装,支持缓冲、转换、读写操作,以及数据的压缩和解压缩。 3. 字符集转换:支持不同字符编码的转换,解决了在不同系统或平台间传输文本文件时可能出现的编码问题。 4. 文件...
1. 输入/输出流:`IOUtils`类提供了对输入/输出流的读写操作,如`readFully()`和`write()`,以及关闭流的便捷方法`closeQuietly()`,防止因异常导致的资源泄露。 2. 转换流:`CharSequenceInputStream`和`...
在描述中提到的"org.apache.commons.io.FileUtils"是Apache Commons IO中的一个关键类,它提供了大量静态方法来简化文件操作,如复制、移动、删除、读写文件等。以下是一些FileUtils类中的核心功能: 1. 文件复制:...
Apache Commons IO是Apache软件基金会的一个开源项目,它提供了一组用于处理输入/输出操作的Java工具类,旨在简化文件操作、流处理和其他与I/O相关的任务。commons-io-2.11.0.jar是这个项目在版本2.11.0时的jar文件...
5. 输入/输出过滤器:可以插入到输入/输出流中,提供数据转换或处理。 6. 文件比较:比较两个文件或目录的内容。 7. 数据源和目标:提供内存中的数据源和目标,如ByteArrayInputStream和ByteArrayOutputStream。 另...
2. **流操作**:如读写输入/输出流,转换不同类型的流,以及缓冲流操作。 3. **文件过滤器**:可以用来筛选特定类型的文件,比如寻找所有.txt文件。 4. **字符集转换**:在处理文件内容时,可以方便地进行字符编码的...
Apache Commons IO 是一个Java库,专门用于处理输入/输出流操作。这个库包含了大量实用工具类,可以帮助开发者更高效地处理文件、流、过滤器、读写操作等。"commons-io-2.6-bin.rar" 是Apache Commons IO库的二进制...
Commons IO是Apache软件基金会开发的一个Java库,主要目的是提供对输入/输出操作的增强功能,以弥补Java标准库中的一些不足。"commons-io-2.4.jar"是这个库的一个版本,包含了各种实用的工具类,方便开发者处理文件...
这个库包含了大量方便、高效的类和方法,帮助开发者处理输入/输出流、文件、字符集、序列化等问题,极大地简化了日常的IO编程工作。 在"commons-io-2.4"这个压缩包中,你可以找到以下组件: 1. **commons-io-2.4-...
6. **OutputStreamWriter**: 将字符数据写入输出流,同样处理字符编码转换。 7. **FilenameUtils**: 提供了处理文件名和路径的方法,如获取文件扩展名,比较文件名等。 8. **ByteOrderMark**: 用于识别和处理字节...