`
evget
  • 浏览: 141362 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
文章分类
社区版块
存档分类

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性能相对好一些。

未完,原文地址:http://www.evget.com/zh-CN/Info/ReadInfo.aspx?id=9165
分享到:
评论

相关推荐

    Java 遍历文件夹内文件

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

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

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

    遍历文件夹下的文件夹

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

    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 API来实现这一功能,并解释相关的知识点。 首先,Java提供了`java.io.File`类...

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

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

    遍历文件夹以及字文件夹遍历文件夹以及字文件夹

    综上所述,遍历文件夹及其子文件夹是编程中不可或缺的一部分,理解并熟练运用不同的遍历方法,可以极大地提高我们处理文件系统任务的效率。无论是在日常开发还是特定项目中,这一技能都是十分宝贵的。

    java中File类应用遍历文件夹下所有文件

    Java中File类应用遍历文件夹下所有文件 Java语言中的File类是java.io包中的一部分,提供了...Java中的File类提供了一个便捷的方式来遍历文件夹下所有文件,我们只需要使用递归函数和listFiles()方法来实现文件夹遍历。

    如何遍历文件夹查找文件

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

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

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

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

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

    java遍历文件夹解析XML.doc

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

    java遍历文件夹

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

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

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

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

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

    遍历文件夹中的路径复制目录文件.rar

    在Java编程中,遍历文件夹中的路径并复制文件是一项常见的任务,特别是在处理大量数据或者进行文件系统操作时。这个“遍历文件夹中的路径复制目录文件.rar”压缩包可能包含了一个Java应用程序,用于实现这样的功能。...

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

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

Global site tag (gtag.js) - Google Analytics