`

【转】java获取指定目录下的所有文件

 
阅读更多

java ,如何获取指定目录下的所有文件呢?

看代码:

Java代码  收藏代码
  1. /*** 
  2.      * 获取指定目录下的所有的文件(不包括文件夹),采用了递归 
  3.      *  
  4.      * @param obj 
  5.      * @return 
  6.      */  
  7.     public static ArrayList<File> getListFiles(Object obj) {  
  8.         File directory = null;  
  9.         if (obj instanceof File) {  
  10.             directory = (File) obj;  
  11.         } else {  
  12.             directory = new File(obj.toString());  
  13.         }  
  14.         ArrayList<File> files = new ArrayList<File>();  
  15.         if (directory.isFile()) {  
  16.             files.add(directory);  
  17.             return files;  
  18.         } else if (directory.isDirectory()) {  
  19.             File[] fileArr = directory.listFiles();  
  20.             for (int i = 0; i < fileArr.length; i++) {  
  21.                 File fileOne = fileArr[i];  
  22.                 files.addAll(getListFiles(fileOne));  
  23.             }  
  24.         }  
  25.         return files;  
  26.     }  

 说明:上述方法采用了递归,所以包含子目录下的子目录中的文件。。。

测试代码:

Java代码  收藏代码
  1. @Test  
  2.     public  void test_getListFiles(){  
  3.         ArrayList<File> files=FileUtils.getListFiles("d:\\Temp\\a\\a");  
  4.         SystemUtil.printFilesFilePath(files);  
  5.     }  

 输出结果:

d:\Temp\a\a\divided\merged\oracle学习笔记.doc

d:\Temp\a\a\divided\oracle学习笔记.doc_1_3kldv

d:\Temp\a\a\divided\oracle学习笔记.doc_2_3kldv

d:\Temp\a\a\divided\oracle学习笔记.doc_3_3kldv

d:\Temp\a\a\oracle学习笔记.doc

 

过滤前缀(只是获取指定目录下的文件,没有递归):

Java代码  收藏代码
  1. /*** 
  2.      *  
  3.      * @param path 
  4.      * @param prefixStr 
  5.      *            :前缀名 
  6.      * @return 
  7.      */  
  8.     public static File[] getFilesByPathPrefix(File path, final String prefixStr) {  
  9.         File[] fileArr = path.listFiles(new FilenameFilter() {  
  10.             @Override  
  11.             public boolean accept(File dir, String name) {  
  12.                 // System.out.println("prefixStr:"+prefixStr);  
  13.                 if ((ValueWidget.isNullOrEmpty(prefixStr) || (dir.isDirectory() && name  
  14.                         .startsWith(prefixStr)))) {  
  15.                     return true;  
  16.                 } else {  
  17.                     return false;  
  18.                 }  
  19.             }  
  20.         });  
  21.         return fileArr;  
  22.   
  23.     }  
  24. /*** 
  25.      * 前缀名 
  26.      *  
  27.      * @param pathStr 
  28.      * @param prefixStr 
  29.      * @return 
  30.      */  
  31.     public static File[] getFilesByPathAndPrefix(String pathStr,  
  32.             final String prefixStr) {  
  33.         File path = new File(pathStr);  
  34.         return getFilesByPathPrefix(path, prefixStr);  
  35.     }  

 

过滤后缀名(只是获取指定目录下的文件,没有递归):

Java代码  收藏代码
  1. /*** 
  2.      *  
  3.      * @param path 
  4.      * @param prefixStr 
  5.      *            :后缀名 
  6.      * @return 
  7.      */  
  8.     public static File[] getFilesByPathAndSuffix(File path,  
  9.             final String sufixStr) {  
  10.         File[] fileArr = path.listFiles(new FilenameFilter() {  
  11.             @Override  
  12.             public boolean accept(File dir, String name) {  
  13.                 // System.out.println("prefixStr:"+prefixStr);  
  14.                 if ((ValueWidget.isNullOrEmpty(sufixStr) || (dir.isDirectory() && name  
  15.                         .endsWith(sufixStr)))) {  
  16.                     return true;  
  17.                 } else {  
  18.                     return false;  
  19.                 }  
  20.             }  
  21.         });  
  22.         return fileArr;  
  23.   
  24.     }  
  25.   
  26. /*** 
  27.      * 后缀名 
  28.      *  
  29.      * @param pathStr 
  30.      * @param sufixStr 
  31.      * @return 
  32.      */  
  33.     public static File[] getFilesByPathAndSuffix(String pathStr,  
  34.             final String sufixStr) {  
  35.         File path = new File(pathStr);  
  36.         return getFilesByPathAndSuffix(path, sufixStr);  
  37.     }  

 

 

转自:http://hw1287789687.iteye.com/blog/1946488

分享到:
评论

相关推荐

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

    以上就是Java中读取目录下指定文件的基本方法。通过灵活运用`File`类及其相关方法,可以实现各种复杂的文件操作需求。在实际开发中,根据具体场景选择合适的方法,并确保处理异常,以保证程序的健壮性。

    获取指定目录下的文件列表 获取指定目录下的所有文件名和路径(包括子目录)

    在编程领域,尤其是在文件系统操作相关的任务中,获取指定目录下的所有文件名和路径是一项基本且重要的工作。这个过程通常涉及到文件系统遍历,能够帮助开发者处理文件、组织数据或者进行备份等操作。本篇文章将深入...

    java实现获取指定路径下指定格式的所有文件

    java实现 获取指定路径下 指定格式 的所有文件

    java 删除指定目录下的文件

    在Java编程语言中,删除指定目录下的文件是一个常见的任务,特别是在处理文件系统操作时。本文将深入探讨如何使用Java API来实现这一功能,主要关注`java.io`和`java.nio.file`这两个包中的相关类和方法。 首先,...

    Java获得某个路径下的所有文件列表,并写入指定文件

    在Java编程中,获取某个路径下所有文件列表并将其写入指定文件是一项常见的任务,尤其在文件管理和系统操作中非常实用。以下是如何实现这个功能的详细步骤和相关知识点。 首先,我们需要导入Java.io和java.nio.file...

    JAVA获取FTP文件列表

    ### JAVA获取FTP文件列表知识点详解 #### 一、概述 在现代软件开发中,FTP(File Transfer Protocol)是一种广泛使用的协议,用于在网络上进行文件传输。本文档将详细介绍一个基于Java的实用工具类`FtpClientUtil`...

    java删除指定文件夹下文件

    下面是一个简单的例子,展示如何删除指定文件夹下的所有文件,但保留空文件夹: ```java public class FileDeleter extends SimpleFileVisitor&lt;Path&gt; { @Override public FileVisitResult visitFile(Path file, ...

    java统计某文件或目录下指定类型文件数量及行数

    可以统计指定目录下指定文件类型的文件数量及行数 此文件是用jdk1.5编译的.如果说您的jvm不相符.请联系qq:361606472

    java读取项目中的文件(src目录下)

    在Java编程中,读取项目中的文件,特别是位于`src`目录下的文件,是一个常见的需求。这涉及到对项目结构的理解和使用Java I/O流的知识。`src`目录通常包含源代码文件,而运行时,这些文件会被编译并放置到类路径...

    Java检测指定FTP目录下的文件名

    本示例简单的实现了一个用Java代码来访问FTP,根据指定FTP的目录,访问这个路径下面的Ftp的文件,取出这个目录下面所有文件的文件名保存到一个Map中,最后根据系统时间和文件生成时间做对比,得出该日是否正确生成...

    java读取某个文件夹下的所有文件

    java读取某个文件夹下的所有文件 很不错可以看看 不要分

    java上传本地文件到oss指定目录

    此外,还需要知道目标bucket的名称和对象(文件)在bucket中的路径,即指定目录。 接下来,我们来编写Java代码。首先,创建一个`OSSClient`实例,需要提供你的阿里云AccessKey信息以及OSS服务的endpoint。示例代码...

    java 提取目录下所有子目录的文件到指定位置

    java 提取目录下所有子目录的文件到指定位置 最近做视频,各个目录里都有图片,无法统一导入到视频编辑软件 写了个小程序,可以将指定各级目录下的文件拷贝到指定目录,并以文件夹名字加数字命名 如果文件夹上都...

    获取指定目录下所有文件的绝对路径和文件名

    获取指定目录下所有文件的绝对路径和文件名

    遍历目录下所有的文件_遍历文件夹文件_java遍历目录下所有文件_

    在Java编程语言中,遍历一个目录下的所有文件和子目录是一项常见的任务,尤其是在处理文件系统操作时。这里我们将深入探讨如何使用Java API来实现这一功能,并解释相关的知识点。 首先,Java提供了`java.io.File`类...

    Java循环读取1指定目录下的文件.doc

    以上两个关键知识点分别介绍了如何在Java中读取指定目录下的所有文件以及如何递归地删除目录及其内容。这些技术在处理文件系统相关的任务时非常有用,如文件备份、清理临时文件等。在实际开发中,还应注意文件操作的...

    java中遍历某个目录下的所有文件及文件夹中的文件

    在Java开发中,经常会遇到需要遍历指定目录及其子目录下所有文件的情况。本文将详细介绍如何使用Java标准库中的`java.io.File`类来实现这一功能。我们将通过一个简单的递归函数来演示如何遍历目录、列出所有文件的...

    Java如何获取指定目录文件列表

    Java获取指定目录文件列表是Java编程中的一项基本操作,通过获取指定目录文件列表,可以实现文件管理、文件搜索、文件备份等功能。在本文中,我们将通过示例代码详细介绍Java如何获取指定目录文件列表。 目录和文件...

    java文件路径获取

    该方法用于获取指定路径下的资源,并返回表示该资源的`URL`对象。 - **参数**:`String path` - 指定资源的路径。 - **返回值**:`URL`对象,如果找不到资源则返回`null`。 - **特点**: - 如果`path`以 `/` 开头...

Global site tag (gtag.js) - Google Analytics