`
michelecindy
  • 浏览: 169182 次
  • 性别: 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);
            }
        }
    }
}

分享到:
评论

相关推荐

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

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

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

    今天小编就为大家分享一篇解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    dicomfolder:读取目录中的所有 dicom 文件并返回一个或多个 3D 图像和相应的元数据。-matlab开发

    此函数读取目录中的所有 dicom 文件,并返回一个或多个包含图像数据的 3D 矩阵以及具有相应 dicom 标头信息的元胞数组。 dicomfolder:导入 dicom 图像。 [图像,标题] = dicomfolder(folderName) 输入: ...

    rar压缩软件.rar

    包含两个掩码,并且所有文件既匹配第一个掩码,也匹配第二个掩码, 较小的子集 或者更精确的匹配拥有更高的优先权。例如,如果你用 *.cpp 和 f*.cpp 掩码, f*.cpp 拥有更高的优先权。 RAR 命令行语法 ~~~~~~...

    读取排序csv特殊文件:使用此文件读取带有分号';'的csv文件-matlab开发

    使用此函数读取以分号作为分隔符的 .csv 文件,并使用“,”而不是“.”写入值。 作为分隔符,还可以连接不同文件中不同变量的值。... 它还将创建一个名为“Matlab_Results”的文件夹,其中将保存不同的结果。

    JAVA上百实例源码以及开源项目

     用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...

    Python基础练习文件源码.rar

    Python基础练习文件源码,里面有py文件,代码注释等等 大概有 Break退出循环语句 continue跳过本次循环继续下次循环 count计算次数 def自定义函数 Dic字典 difference差异对比 Do----While循环语句 Find查找函数 ...

    我整理的VBA 自定义函数大全 共138页

    84.判断一个文件是否在使用中 85.列出档案详细摘要信息 86.获取菜单ID编号及名称列表 87.状态列动态显示文字 88.取得一个文件的路径2 89.取得一个文件的路径3 90.取得Activecell的栏名 91.取得单元格中指定字符前的...

    delphi 开发经验技巧宝典源码

    0209 如何把ListBox中的内容拖曳到另一个ListBox中 139 0210 把DBGrid中的数据赋给数组 139 0211 如何获取DataGrid单元格中的内容 140 0212 如何锁定文本框中的文本 141 0213 如何设置光标到文本框的末尾 ...

    excel中161个VBA_自定义函数超级实用

    函数作用:判断一个文件是否在使用中.................92 '85.函数作用:列出档案详细摘要信息.....................93 '86.函数作用:获取菜单ID编号及名称列表................93 '87.函数作用:状态列动态显示文字......

    python文件排序的方法总结

    用函数sort()对数字排序,它的对象是数字,如果读取文件的话,需要进行处理(把文件后缀名‘屏蔽’)。 (1)首先:我测试的文件夹是/img/,里面的文件都是图片,如下图所示: (2)测试库函数sorted(),直接贴出...

    JAVA上百实例源码以及开源项目源代码

     用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...

    Excel VBA实用技巧大全 附书源码

    01015获取在Excel主窗口中一个窗口所能占有的最大高度和宽度 01016获取当前打印机名称 01017获取MicrosoftExcel剩余内存 01018获取MicrosoftExcel的总内存 01019获取计算机被Excel占用的内存 01020改变Excel窗口大小...

    delphi 开发经验技巧宝典源码06

    0209 如何把ListBox中的内容拖曳到另一个ListBox中 139 0210 把DBGrid中的数据赋给数组 139 0211 如何获取DataGrid单元格中的内容 140 0212 如何锁定文本框中的文本 141 0213 如何设置光标到文本框的末尾 ...

    Lotus公式语言函数简介

    @DbLookup 1 给定一个值,在一个指定的视图(或文件夹)里查找,找出视图里的第一个排序列里包含该值的所有文档。对每个选中的文档,@DbLookup 返回视图里指定列的内容,或者返回一个指定域的内容 2 使用 ODBC.INI ...

    易语言540个易模块

    打开外部关联文件及调用系统关于窗口模块 1.0 打印模块 打印数据1.20-绿营 打印预览1.1 打印预览1.3 打印预览1.33 打印预览2.41(注册表配置) 打印预览2.42(外部文件配置) 打印预览2.44(注册表配置) 打印预览2.45...

    大量批处理实用程序例程

    本资源由大量的实用批处理文件组成,删除.txt尾缀名双击即可直接使用,既是学习的模板也可以作为实用程序,如下为文件组成,涉及文件管理,系统,网络,小工具等等: 0-reaname 2000XP停止打印.bat BAT珍藏 dir.bat...

Global site tag (gtag.js) - Google Analytics