`
bjxagu
  • 浏览: 165910 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Java遍历文件夹的2种

阅读更多

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

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遍历文件夹,并可能包含了一些实用技巧或者特定的实现案例。遗憾的是,由于我们无法直接访问该链接,所以无法提供更具体的信息。 在标签中,"源码...

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

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

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

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

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

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

    java遍历文件夹解析XML.doc

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

    java 遍历文件夹

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

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

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

    遍历文件夹下的文件夹

    在计算机编程中,遍历文件夹是经常遇到的需求,特别是在处理大量数据或组织文件系统时。这个过程通常涉及递归地访问一个目录及其所有子目录,查找、读取或者操作其中的文件和子文件夹。在本文中,我们将深入探讨如何...

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

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

    java遍历文件夹

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

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

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

    遍历文件夹并建成目录树

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

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

    在IT领域,自动遍历文件夹并生成目录树是一项常用的操作,尤其对于处理大量文件和组织数据时。这个“自动遍历文件夹生成成目录树”程序可能是一个实用的工具,能够帮助用户快速地理解文件系统的结构。接下来,我们将...

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

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

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

    根据提供的文件标题、描述、标签以及部分内容,我们可以总结出与“遍历某文件夹下的 .txt ...通过上述知识点的学习,可以更好地理解如何在 Java 中遍历文件夹并处理其中的文件,特别是在针对特定文件类型的需求场景下。

    如何遍历文件夹查找文件

    在IT领域,遍历文件夹查找文件是一项基本且重要的任务,尤其在进行系统管理、数据处理或软件开发时。这个过程通常涉及到编程语言中的文件I/O(输入/输出)操作和目录遍历功能。以下是一些关于如何遍历文件夹查找文件...

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

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

    扫描硬盘.遍历文件夹并建成目录树

    每种文件系统都有其特定的结构和规则,这会影响到遍历文件夹的方式。 其次,遍历文件夹的过程通常涉及到递归算法。递归是一种解决问题的方法,它将问题分解成更小的子问题,直到子问题变得足够简单可以直接解决。在...

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

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

Global site tag (gtag.js) - Google Analytics