`

IO-输入输出流 (文件查询操作)

阅读更多
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等对文件的操作
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    commons-io-1.4.jar.zip_io流jar

    在Java编程语言中,IO(Input/Output)流是一组用于数据传输的类,它们允许程序读取和写入数据,无论是从磁盘、网络还是其他输入输出设备。Java的IO流系统是一个强大的工具,它提供了一种统一的方式来处理不同类型的...

    Java IO commons-io-2.5.jar

    Java IO 是Java编程语言中处理输入/输出流的重要部分,它是连接程序与外部世界的桥梁,允许数据在程序和外部资源之间流动。`commons-io-2.5.jar` 是Apache Commons项目的一部分,它提供了一系列增强和扩展了Java标准...

    commons-io-2.4 包含了所有commons-io的jar包和源码

    1. **文件操作**: Commons IO 提供了丰富的文件操作类,如FileUtils,可以进行文件复制、移动、删除等操作,同时支持文件和目录的递归处理。此外,还有FileExistsException、FileExtensionFilter等,帮助处理文件...

    Commons-io-2.11.0.jar

    Apache Commons IO是Apache软件基金会的一个开源项目,它提供了一组用于处理输入/输出操作的Java工具类,旨在简化文件操作、流处理和其他与I/O相关的任务。commons-io-2.11.0.jar是这个项目在版本2.11.0时的jar文件...

    commons-io-2.7-bin.zip

    - **线程安全的流**:提供线程安全的输入输出流实现。 - **临时文件系统**:提供创建临时文件和目录的方法。 - **IO异常工具**:提供方便的异常处理工具,简化错误处理代码。 3. **Apache Commons IO 2.7 版本...

    commons-io-2.6.jar下载

    这个版本的 JAR 文件包含了丰富的输入/输出流、文件操作、I/O 流工具类以及与文件系统交互的相关功能。下面将详细介绍 `commons-io-2.6.jar` 中的关键知识点。 1. **基本文件操作**: - `FileUtils` 类提供了大量...

    commons-io-2.4.jar包 官方免费版

    这个库提供了一系列与输入输出操作相关的实用工具类,极大地简化了Java程序员处理IO任务的复杂性。标题提到的"commons-io-2.4.jar"是这个库的一个版本,版本号为2.4,表明它是官方发布的稳定版本,对先前版本进行了...

    commons-io-2.11.0.rar

    2. 流操作:提供了许多对输入/输出流进行读写、转换和操作的工具类,如`BufferedInputStream` 和 `BufferedOutputStream`,以及处理字符编码的`CharStreams`。此外,还有用于读取和写入流的便捷方法,如`IOUtils....

    java+servlet+commons-io-2.4.jar+commons-fileupload-1.3.jar实现文件的上传与下载

    3. **读取文件**:使用Commons IO库读取文件内容,将其写入到响应的输出流中。 4. **关闭流**:确保所有的流都被正确关闭,避免资源泄漏。 五、代码示例 ```java // 文件上传 public class UploadServlet extends ...

    commons-fileupload-1.2.1.jar 和commons-io-1.4.jar

    2. **流处理**:提供各种类型的输入/输出流,支持缓冲、转换、过滤等操作。 3. **文件比较**:可以比较文件内容是否相同,或者根据日期、大小等属性进行比较。 4. **字符集转换**:处理不同字符编码的文件,如读取或...

    commons-fileupload-1.3.3.jar和commons-io-2.6.jar

    它提供了大量的实用方法,涵盖了文件操作、流操作、转换、读写操作、字符集检测等诸多方面。在处理文件上传时,`commons-io`库可以帮助开发者完成诸如文件复制、移动、重命名、检查文件属性等操作。版本2.6对之前...

    commons-io-1.4.rar源文件及jar文件

    2. 流操作:提供对输入流和输出流的高级封装,支持缓冲、转换、读写操作,以及数据的压缩和解压缩。 3. 字符集转换:支持不同字符编码的转换,解决了在不同系统或平台间传输文本文件时可能出现的编码问题。 4. 文件...

    commons-io-2.6.jar

    1. 输入/输出流:`IOUtils`类提供了对输入/输出流的读写操作,如`readFully()`和`write()`,以及关闭流的便捷方法`closeQuietly()`,防止因异常导致的资源泄露。 2. 转换流:`CharSequenceInputStream`和`...

    commons-io-2.11.0-bin.zip

    在描述中提到的"org.apache.commons.io.FileUtils"是Apache Commons IO中的一个关键类,它提供了大量静态方法来简化文件操作,如复制、移动、删除、读写文件等。以下是一些FileUtils类中的核心功能: 1. 文件复制:...

    commons-io-2.6-bin.zip

    5. 输入/输出过滤器:可以插入到输入/输出流中,提供数据转换或处理。 6. 文件比较:比较两个文件或目录的内容。 7. 数据源和目标:提供内存中的数据源和目标,如ByteArrayInputStream和ByteArrayOutputStream。 另...

    commons-io-2.6-src.zip

    6. **OutputStreamWriter**: 将字符数据写入输出流,同样处理字符编码转换。 7. **FilenameUtils**: 提供了处理文件名和路径的方法,如获取文件扩展名,比较文件名等。 8. **ByteOrderMark**: 用于识别和处理字节...

    commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar程序文件

    2. **流操作**:如读写输入/输出流,转换不同类型的流,以及缓冲流操作。 3. **文件过滤器**:可以用来筛选特定类型的文件,比如寻找所有.txt文件。 4. **字符集转换**:在处理文件内容时,可以方便地进行字符编码的...

    commons-io-2.6-bin.rar

    Apache Commons IO 是一个Java库,专门用于处理输入/输出流操作。这个库包含了大量实用工具类,可以帮助开发者更高效地处理文件、流、过滤器、读写操作等。"commons-io-2.6-bin.rar" 是Apache Commons IO库的二进制...

    commons-io-2.4.jar

    Commons IO是Apache软件基金会开发的一个Java库,主要目的是提供对输入/输出操作的增强功能,以弥补Java标准库中的一些不足。"commons-io-2.4.jar"是这个库的一个版本,包含了各种实用的工具类,方便开发者处理文件...

    commons-io-2.4

    这个库包含了大量方便、高效的类和方法,帮助开发者处理输入/输出流、文件、字符集、序列化等问题,极大地简化了日常的IO编程工作。 在"commons-io-2.4"这个压缩包中,你可以找到以下组件: 1. **commons-io-2.4-...

Global site tag (gtag.js) - Google Analytics