`
michelecindy
  • 浏览: 175070 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

把一个文件夹及所有子文件夹中包含的文件读取出来并且自己写一个排序函数将其全部打印出来

    博客分类:
  • Java
阅读更多
/*
 * @(#) FileTest.java 2008/09/12
 */

import java.io.File;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;

/**
 * FileTest
 *
 * @version 1.0
 * @since 2008/09/12
 */
public class FileTest
{
    public static void main(String[] args)
    {
        File directory = new File("c:\\temp\\");
        List fileList = listAllFiles(directory);

        Set fileNameSet = new HashSet(fileList.size());
        for (int i = 0 ; i< fileList.size() ; i++)
        {
            File file = (File)fileList.get(i);
            fileNameSet.add(file.getAbsolutePath());
        }

        for (Iterator i = new TreeSet(fileNameSet).iterator() ; i.hasNext() ; )
        {
            System.out.println(i.next());
        }

    }


    private static List listAllFiles(File directory)
    {
        if (directory == null 
            || !directory.isDirectory()
        ){
            return null;
        }

        List fileList = new ArrayList();
        addSubFileList(directory, fileList);

        return fileList;
    }

    private static void addSubFileList(
        File file, 
        List fileList
    ){
        File[] subFileArray = file.listFiles();
        if (subFileArray == null
            || subFileArray.length == 0
        ){
            return;
        }

        for (int i = 0 ; i < subFileArray.length ; i++)
        {
            File subFile = subFileArray[i];
            if (subFile == null
            ){
                continue;
            }
            if (subFile.isFile()
            ){
                fileList.add(subFile);
                continue;
            }
            else if (subFile.isDirectory()
            ){
                addSubFileList(subFile, fileList);
            }
        }
    }
}

分享到:
评论

相关推荐

    c++遍历文件夹及其子文件夹所有文件 并输出文件路径和文件内容

    在C++编程中,遍历文件夹及其子文件夹并输出所有文件的路径与内容是一项常见的任务,尤其在处理大量数据或进行文件管理时。这个程序的实现涉及到对操作系统文件系统的接口调用以及文件操作。以下是一份详细的步骤和...

    LabVIEW按修改时间读取文件夹下文件.rar

    这个“LabVIEW按修改时间读取文件夹下文件.rar”压缩包可能包含了一个LabVIEW程序或工程,其核心功能是根据文件的最后修改时间来读取指定文件夹中的文件。 在LabVIEW中,实现这一功能需要掌握以下几个关键知识点: ...

    Qt删除一个目录下所有文件和文件夹

    在Qt编程中,删除一个目录下所有文件和文件夹是一个常见的任务,这通常涉及到文件系统操作。Qt提供了QDir类来处理与目录和文件相关的操作。以下是对这个知识点的详细说明: 首先,我们需要理解QDir类。QDir是Qt中的...

    批量文件夹中批量文件数据读取.vi

    批量文件夹中批量文件数据读取。几个问题:1. 罗列函数是按字母顺序排列的,还不知道怎么改,我一般把数据导入excel再重新排序;2. 最后的数组无法直接写入excel,得手动导出;3. 程序中的文件夹参量是我自己的,可...

    Qt遍历本地文件中的所有图片资源

    这个例子中,`traverseDirectory`函数接收一个目录和图片文件的扩展名列表,然后递归地遍历目录并检查文件扩展名。如果文件是图片,就调用`handleImageFile`处理图片。 总结来说,通过Qt提供的QDir和QFileInfo类,...

    nodejs实现遍历文件夹并统计文件大小

    通过递归调用`readFile`函数,程序能够深入到每一个子目录中继续遍历,对于每一个文件,程序会使用`fs.statSync`同步获取文件的状态信息,从而得到文件的大小。 统计文件大小时,程序首先创建一个数组`filesList`,...

    用于在文件夹里预览stl文件的工具

    在给定的标题和描述中,我们可以看到一个专门用于预览STL文件的工具——可能是K-Studio-Demo_x64_1.2.4.0,这是一个可能基于C++开发的应用程序,具备在文件夹中预览STL模型文件的能力。 STL文件格式,全称为 ...

    ListView遍历指定地址的文件及文件夹

    如果需要递归遍历子目录,我们可以写一个递归函数,对每个子目录重复上述过程。 接着,我们需要自定义一个Adapter来绑定数据到ListView。Adapter是连接数据源和视图的桥梁,这里我们可以创建一个继承自BaseAdapter...

    易语言从文件夹取文件例子

    这个命令会返回一个列表,包含文件夹内的所有文件和子文件夹。 3. 遍历文件列表:遍历这个列表,对每一个文件进行处理。可以通过索引或者循环来访问每个文件的信息,如文件名、大小、创建时间等。 4. 处理文件:...

    LabView图形化编程语言之按修改时间读取文件夹下文件.zip

    “列出文件和文件夹”函数可以遍历指定文件夹,返回一个包含所有文件和子文件夹名称的数组。这个函数可以设置过滤条件,例如只列出特定类型的文件,或者在这里,我们可以设置它只返回文件,不包括子文件夹。 接着,...

    VC文件夹操作程序——读取排序

    在这个“VC文件夹操作程序——读取排序”项目中,我们聚焦的是一个使用VC++编写的程序,它的功能是读取并排序指定文件夹内的文件。 这个程序的核心知识点可能包括以下几个方面: 1. **文件系统API**:程序通过调用...

    易语言遍历目录文件

    它返回一个数组,包含了目录中每个文件或子目录的完整路径。 2. **文件信息**:当获取到文件或目录的路径后,可以使用这个命令来获取特定文件的详细信息,如文件大小、创建日期、最后修改时间等。 下面是一个简单...

    php 读取文件夹下所有图片、文件的实例

    `scandir()`函数返回一个数组,包含指定目录下的所有文件和子目录(按名称排序)。数组的第一个元素是`.`,表示当前目录,第二个元素是`..`,表示父目录。所以,通常我们会跳过这两个特殊元素。 为了遍历`scandir()...

    遍历文件夹并建成目录树

    每个节点代表一个文件夹,包含子节点(子文件夹)和叶子节点(文件)。 4. **文件属性处理**:程序可能获取并处理了文件的各种属性,如文件名、大小、创建日期、修改日期等,并可能提供了过滤、排序等功能。 5. **...

    仿QFileSystemModel将文件目录在QTreeView中显示

    1. **创建QFileSystemModel**:首先,你需要创建一个QFileSystemModel实例,并设置其根路径,这通常是用户的工作目录或者特定的文件夹路径。例如: ```cpp QFileSystemModel *fileModel = new QFileSystemModel; ...

    python查找指定文件夹下所有文件并按修改时间倒序排列的方法

    我们使用glob模块的glob方法来获取文件夹path下的所有文件和文件夹,它接受一个模式字符串作为参数,这里用'*'代表所有内容。之后,我们利用os模块的os.path.getctime方法获取每个文件或文件夹的创建时间(ctime),...

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

    在这个例子中,`os.walk()`函数遍历指定路径下的所有子目录和文件,返回一个三元组,包含当前目录(root)、当前目录下的子目录列表(dirs)和当前目录下的文件列表(files)。我们利用这些信息构建一个字典,键为...

    解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题

    在Python编程中,`os.listdir()` 是一个非常实用的函数,它用于获取指定路径下的所有文件和子目录的名称,返回的结果是一个包含字符串的列表。然而,这个函数的一个特点是返回的列表顺序并不是固定的,可能会根据...

    python3 循环读取excel文件并写入json操作

    在主程序中,我们使用一个for循环读取1到15(包括1和15)的Excel文件,并将所有数据合并到一个大列表`d`中。然后,我们按照`time`字段对数据进行升序排序,以便于后续处理。最后,我们使用`json.dumps()`方法将数据...

    ACCESS版扫描文件夹

    在描述中提到的“ACCESS做的扫描本地文件夹”,意味着可能有一个Access应用程序或者数据库设计用于自动化地遍历、读取和处理特定文件夹中的文件信息。这可能是为了跟踪文件系统的变化,如新建、修改或删除文件,或者...

Global site tag (gtag.js) - Google Analytics