`
061041033
  • 浏览: 38699 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

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

阅读更多
A:不使用递归
import java.io.File;
import java.util.LinkedList;
public class Folder {
    public static void main(String[] args) {
        
        long a = System.currentTimeMillis();
        
        LinkedList<File> list = new LinkedList<File>();
        File dir = new File("c:/test");
        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 Folder2 {
    private static ArrayList<String> filelist = new ArrayList<String>(); 
    
    public static void main(String[] args) {
        
        long a = System.currentTimeMillis();
        refreshFileList("c:/test");
        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遍历文件夹,并可能包含了一些实用技巧或者特定的实现案例。遗憾的是,由于我们无法直接访问该链接,所以无法提供更具体的信息。 在标签中,"源码...

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

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

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

    在IT领域,遍历文件夹自动生成目录树是一项常见的任务,尤其在文件管理、数据整理和自动化脚本编写中非常实用。目录树,也被称为文件系统树,是计算机操作系统中文件和文件夹组织的一种视觉表示,它以层级结构展示...

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

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

    java 遍历文件夹

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

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

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

    java遍历文件夹解析XML.doc

    这篇文档"java遍历文件夹解析XML.doc"可能详细介绍了如何使用Java进行这两个任务。 首先,让我们深入了解一下遍历文件夹的概念。在Java中,可以使用`java.io.File`类来操作文件和目录。通过`list()`或`listFiles()`...

    遍历文件夹下的文件夹

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

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

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

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

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

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

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

    java遍历文件夹

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

    遍历文件夹并建成目录树

    2. **遍历文件夹的原理** 遍历文件夹是指从一个特定的起始目录开始,访问并处理每一个文件和子目录,包括它们的子目录中的所有文件。这通常通过递归的方式完成,即当遇到子目录时,再次调用相同的过程,直到遍历完...

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

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

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

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

    如何遍历文件夹查找文件

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

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

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

    使用Java实现文件夹的遍历

    在 Java 中,遍历文件夹是一种常见的操作,通常我们使用递归来进行遍历,但是递归方式存在一些缺陷,例如效率不高、可能出现栈溢出等问题。在本文中,我们将介绍使用 Java 实现文件夹的遍历的两种方式:递归遍历和非...

    blwj.rar_文件夹 _遍历文件_遍历文件夹

    这个名为"blwj.rar_文件夹 _遍历文件_遍历文件夹"的压缩包提供了一个关于如何在程序中遍历文件夹及其内含文件的示例代码。这个例子已经过修改,以优化调用过程,简化了开发者的使用。 首先,遍历文件夹是指通过编程...

Global site tag (gtag.js) - Google Analytics