`
JAVA海洋
  • 浏览: 617982 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

遍历文件夹的两种方法

阅读更多
遍历文件夹两种方法:
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());                   
            }
        }
    }
}
分享到:
评论

相关推荐

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

    这两种方法都能够在不丢失任何文件的情况下遍历整个目录结构。 二、目录树的概念 目录树是计算机科学中对文件系统的一种抽象表示,它模拟了真实文件系统中目录和文件的关系。在目录树中,根目录位于顶部,其下可以...

    MFC实现遍历文件夹.zip

    `CFileDialog`有打开和保存两种模式,通过设置`OFN_ALLOWMULTISELECT`标志,可以允许用户选择多个文件或文件夹。例如: ```cpp CFileDialog dlg(TRUE, NULL, NULL, OFN_ALLOWMULTISELECT | OFN_FILEMUSTEXIST); ...

    递归遍历与非递归遍历文件夹.pdf

    本话题将详细探讨两种常见的遍历方式:递归遍历和非递归遍历,并结合框图来解释它们的工作原理。 首先,我们来看**递归遍历**。递归是一种编程技术,它通过调用自身来解决问题或执行任务。在遍历文件夹时,递归遍历...

    ios 遍历指定的文件夹

    3. 遍历文件夹: - Objective-C: 使用`NSFileManager`的`contentsOfDirectoryAtPath:error:`或`enumeratorAtPath:`方法。 - Swift: 使用`FileManager`的`contentsOfDirectory(atPath:)`或`enumerator(at:)`方法。...

    如何遍历文件夹查找文件

    3. **遍历算法**:基本的遍历算法有两种,一种是深度优先搜索(DFS),另一种是广度优先搜索(BFS)。DFS先访问子目录,再访问当前目录的文件,而BFS则先访问所有当前目录的文件,再访问子目录。`os.walk()`在Python...

    C++遍历文件夹目录的方法

    C++语言提供了多种方法来实现文件夹目录的遍历,以下将对其中的两种方法进行详细介绍。 方法一:使用_getfirst和_getnext函数 _getfirst和_getnext函数是C++标准库中提供的两个函数,用于遍历文件夹目录。_get...

    C语言遍历文件夹目录中文件和文件夹

    在C语言中,遍历文件夹目录中的文件和文件夹是一项常见的任务,这涉及到操作系统级别的文件系统操作。本文将深入探讨如何使用C语言实现这一功能,主要包括以下几个知识点: 1. **目录结构与文件路径**: 在计算机...

    java 遍历文件夹

    在遍历过程中,我们需要处理这两种类型的结点。 3. **深度**:遍历的深度表示文件夹结构的层次。例如,根目录的深度为0,其子目录的深度为1,依此类推。理解深度有助于控制遍历的范围,避免无限循环或处理深层目录...

    VB 代码遍历文件夹所有文件,速度超快

    为了确保遍历文件夹的速度尽可能快,可以采取以下几种策略: - **缓存结果**:对于经常访问的文件或文件夹,可以考虑缓存其信息,避免重复读取。 - **异步处理**:使用多线程或异步I/O操作可以显著提升处理速度,...

    C#遍历文件夹下所有文件通过MD5函数计算文件的MD5

    在C#编程中,遍历文件夹并计算所有文件的MD5哈希值是一项常见的任务,这在数据校验、文件比对或者备份场景中尤为有用。MD5(Message-Digest Algorithm 5)是一种广泛使用的加密散列函数,能够产生一个128位(16字节...

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

    本文将详细介绍两种使用Java进行文件夹遍历的方法:递归算法和非递归算法,并对这两种方法进行深入解析。 #### 1. 递归算法实现文件夹遍历 递归算法是一种非常直观且高效的遍历文件夹的方法。其基本思想是通过不断...

    jsp遍历文件夹下的文件的代码.docx

    ### JSP遍历文件夹下的文件的代码解析 #### 一、引言 在Web开发中,有时我们需要在服务器端处理文件系统中的数据,比如列出某个目录下的所有文件或子目录。这种需求可以通过多种方式实现,其中一种常用的技术是...

    遍历文件夹并建成目录树

    2. **递归/迭代实现**:根据描述,程序可能有递归或迭代两种方式实现遍历。递归实现简洁直观,但深度过大的文件夹可能导致堆栈溢出;迭代实现则可以避免这个问题,但代码相对复杂。 3. **目录树结构**:程序将...

    c语言递归遍历指定文件夹下所有文件算法

    本文详细介绍了一种利用C语言实现递归遍历文件夹的方法。通过使用Windows API函数结合递归思想,可以有效地遍历整个目录树,同时通过字符串处理确保只处理特定类型的文件或排除某些类型。这种方法不仅适用于文件的...

    遍历文件夹中的文件名

    要遍历文件夹中的文件名,我们可以使用`DirectoryInfo`类和`GetFiles()`方法。假设我们有一个绝对地址存储在变量`directoryPath`中,我们可以这样做: ```csharp using System.IO; string directoryPath = "C:\\...

    C# 遍历文件夹文件写成xml

    在C#编程中,当你需要处理文件系统操作,如遍历文件夹并将其内容结构化存储时,XML是一种常见的选择。XML(可扩展标记语言)提供了数据的结构化表示,便于存储、检索和处理。本示例将详细介绍如何在Windows Forms...

    遍历指定文件夹下所有文件

    在遍历过程中,我们需要注意处理两种特殊的情况:`.`和`..`,它们分别代表当前目录和父目录,通常不包含实际的文件数据,可以根据需求选择是否跳过。 在C++中,可以这样实现遍历: ```cpp #include #include ...

    遍历文件夹 vc

    下面,我们将探讨这两种方法: 1. 使用C运行时库(CRT) CRT提供了`std::directory_iterator`和`std::recursive_directory_iterator`来遍历文件夹。例如,我们可以创建一个函数,接收文件夹路径作为参数,然后使用...

    java遍历文件夹解析XML.doc

    在Java编程中,遍历文件夹和解析XML是两种常见的操作,它们在处理数据和构建应用程序时发挥着关键作用。这篇文档"java遍历文件夹解析XML.doc"可能详细介绍了如何使用Java进行这两个任务。 首先,让我们深入了解一下...

Global site tag (gtag.js) - Google Analytics