`

Java中遍历文件夹的2种方法

 
阅读更多

java遍历文件夹的两种办法:

A. 不使用递归

import java.io.File;
import java.util.LinkedList;
public class FileSystem {
    public static void main(String[] args) {
        
        long a = System.currentTimeMillis();
        
        LinkedList list = new LinkedList();
        File dir = new File("c:\\java\\");
        File file[] = dir.listFiles();
        for (int i = 0; i < file.length; i++) {
            if (file[i].isDirectory())
                list.add(file[i]);
            else
                System.out.println(file[i].getAbsolutePath());
        }
        File tmp;
        while (!list.isEmpty()) {
            tmp = list.removeFirst();
            if (tmp.isDirectory()) {
                file = tmp.listFiles();
                if (file == null)
                    continue;
                for (int i = 0; i < file.length; i++) {
                    if (file[i].isDirectory())
                        list.add(file[i]);
                    else
                        System.out.println(file[i].getAbsolutePath());
                }
            } else {
                System.out.println(tmp.getAbsolutePath());
            }
        }
        
        System.out.println(System.currentTimeMillis() - a);
    }
}

 

B. 使用递归

import java.io.File;
import java.util.ArrayList;
public class FileSystem1 {
    private static ArrayList filelist = new ArrayList(); 
    
    public static void main(String[] args) {
        
        long a = System.currentTimeMillis();
        refreshFileList("c:\\java");
        System.out.println(System.currentTimeMillis() - a);
    }
    public static void refreshFileList(String strPath) { 
        File dir = new File(strPath); 
        File[] files = dir.listFiles(); 
        
        if (files == null) 
            return; 
        for (int i = 0; i < files.length; i++) { 
            if (files[i].isDirectory()) { 
                refreshFileList(files[i].getAbsolutePath()); 
            } else { 
                String strFileName = files[i].getAbsolutePath().toLowerCase();
                System.out.println("---"+strFileName);
                filelist.add(files[i].getAbsolutePath());                    
            } 
        } 
    }
}

 

结论:经过测试,使用递归的方法B性能相对好一些。

 

 

 

分享到:
评论

相关推荐

    Java 遍历文件夹内文件

    描述中提到的链接指向了一篇博客文章,可能详细解释了如何使用Java遍历文件夹,并可能包含了一些实用技巧或者特定的实现案例。遗憾的是,由于我们无法直接访问该链接,所以无法提供更具体的信息。 在标签中,"源码...

    遍历文件夹自动生成目录树

    在IT领域,遍历文件夹并自动生成目录树是一项常用的任务,特别是在文件管理、数据整理以及自动化脚本编写中。这个过程通常涉及到操作系统层面的文件系统操作,编程语言中的文件I/O(输入/输出)以及目录结构的表示。...

    遍历文件夹下的文件夹

    在计算机编程中,遍历文件夹是经常遇到的需求,特别是在处理大量数据或组织文件系统时。这个过程通常涉及递归地访问一个...熟悉并掌握不同编程语言中遍历文件夹的方法,将有助于我们更高效地处理与文件系统相关的任务。

    java实现遍历文件夹内pdf分别转成一张jpg图片

    2. **Java文件I/O操作**:为了遍历文件夹并处理每个PDF文件,Java的`java.io`包提供了必要的API,如`File`类用于表示文件和目录,`FileInputStream`和`FileOutputStream`用于读写文件,以及`FileVisitor`接口可以...

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

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

    java 遍历文件夹

    以上就是使用Java遍历文件夹的基本知识,包括叶子节点、结点和遍历深度的概念,以及如何利用`java.io.File`类进行实际操作。在实际应用中,你可能需要根据项目需求进行适当的调整,例如添加错误处理、优化性能或者...

    自动遍历文件夹生成成目录树.rar

    2. Java:Java的java.io.File类提供了list(), listFiles()等方法来获取目录下的文件和子目录,配合递归可以实现遍历。 3. C#:C#的System.IO命名空间下的Directory和FileInfo类提供了类似的功能,如Directory....

    遍历文件夹并建成目录树

    在IT领域,遍历文件夹并建成目录树是一项常见的任务,尤其在文件管理、数据处理和自动化脚本编写中。这个过程涉及到操作系统层面的文件系统操作,通常通过编程语言实现。下面将详细介绍如何进行这项操作,并提供一些...

    Java遍历文件夹下所有文件并重新命名

    本文主要介绍了Java遍历文件夹下所有文件并重新命名的方法,提供了详细的示例代码,具有一定的参考价值。 Java文件遍历 Java文件遍历是指在Java程序中遍历文件夹下的所有文件,并执行相应的操作。在本文中,我们将...

    运用Java遍历文件夹的方法总结.doc

    ### 运用Java遍历文件夹的方法总结 在日常开发工作中,经常需要处理文件系统相关的操作,例如遍历文件夹中的所有文件或特定类型的文件。本文将详细介绍两种使用Java进行文件夹遍历的方法:递归算法和非递归算法,并...

    用java程序遍历文件夹内的文件

    提供学习,运行成功后发上来!有修改意见的朋友请给于指导!

    遍历某文件夹下的 .txt 文件

    Java 中遍历文件夹的方法 #### 2.1 使用 `java.io.File` 类 Java 提供了 `java.io.File` 类来处理文件和目录。通过这个类的方法,可以轻松实现文件夹的遍历。 #### 2.2 方法示例 ```java public static void ...

    java遍历文件夹解析XML.doc

    在Java编程中,遍历文件夹和解析XML是两种常见的操作,它们在处理数据和构建应用程序时发挥着关键作用。...结合上述知识点,你应能从提供的"java遍历文件夹解析XML.doc"文档中获取更多关于这两个主题的详细信息。

    java遍历文件夹工具类共4页.pdf.zip

    对于压缩包文件"java遍历文件夹工具类共4页.pdf.zip",这可能是一个包含有关上述话题的详细教程或文档。解压后,用户可以获得四页关于Java遍历文件夹工具类的详细信息。然而,由于这里没有提供具体的文件内容,我们...

    java遍历文件夹

    对某一个文件及进行遍历 输出所匹配的文件名

    如何遍历文件夹查找文件

    在IT领域,遍历文件夹查找文件是一项...了解这些知识点后,你可以根据具体需求选择合适的编程语言和方法,编写出能够高效遍历文件夹并查找特定文件的代码。在实际操作中,一定要结合具体的上下文和需求进行调整和优化。

    java遍历文件夹里图片并保存到txt

    java遍历文件夹里图片并保存到txt文件夹 ,便于opencv进行读取训练集

    遍历文件夹,再复制文件,Java源代码

    例如url=c:\文件夹1,而文件夹1中包含多个文件夹,现在程序要求遍历所有文件夹找出文件夹中的文件,然后原样保存到D盘的文件夹中去。原样是指只需文件夹中文件过去就可以,不用再还原文件夹。从键盘键入文件夹

    JAVA 遍历图片文件夹的 Java 图形界面

    在遍历文件夹的过程中,同时记录文件夹和文件的数量,并最终输出统计结果。 #### 实现原理 通过两个静态变量 `countFile` 和 `countDir` 来分别记录文件和文件夹的数量。每次遍历时,如果遇到文件则 `countFile` ...

Global site tag (gtag.js) - Google Analytics