• 实现读取文件夹下(包括多层子目录)所有文件的文件


     1 /**
     2      * 实现读取文件夹下(包括子目录)所有文件的文件
     3      * 
     4      * @return
     5      */
     6     public static List<File> scanFiles(String path) {
     7         // 存放所有文件的集合
     8         List<File> fileList = new ArrayList<File>();
     9         // 存放所有文件的集合(包含目录)
    10         List<File> filePaths = new ArrayList<File>();
    11         LinkedList<File> list = new LinkedList<File>();
    12         File dir = new File(path);
    13         File[] file = dir.listFiles();
    14 
    15         for (int i = 0; i < file.length; i++) {
    16             if (file[i].isDirectory()) {
    17                 // 把第一层的目录,全部放入链表
    18                 list.add(file[i]);
    19             }
    20             filePaths.add(file[i]);
    21         }
    22         // 循环遍历链表
    23         while (!list.isEmpty()) {
    24             // 把链表的第一个记录删除
    25             File tmp = list.removeFirst();
    26             // 如果删除的目录是一个路径的话
    27             if (tmp.isDirectory()) {
    28                 // 列出这个目录下的文件到数组中
    29                 file = tmp.listFiles();
    30                 if (file == null) {// 空目录
    31                     continue;
    32                 }
    33                 // 遍历文件数组
    34                 for (int i = 0; i < file.length; ++i) {
    35                     if (file[i].isDirectory()) {
    36                         // 如果遍历到的是目录,则将继续被加入链表
    37                         list.add(file[i]);
    38                     }
    39                     filePaths.add(file[i]);
    40                 }
    41             }
    42         }
    43         // 去除文件夹,只保留文件
    44         if (null != filePaths && filePaths.size()>0) {
    45             for (File tempFile : filePaths) {
    46                 if (tempFile.isFile()) {
    47                     fileList.add(tempFile);
    48                 }
    49             }
    50         }
    51         return fileList;
    52     }
  • 相关阅读:
    作业四 四则运算
    作业三
    作业二(3)
    作业二(2)
    作业二(1)
    作业一
    作业九
    每周更新学习进度表--第十一周
    每周更新学习进度表--第十周
    每周更新学习进度表--第九周
  • 原文地址:https://www.cnblogs.com/klslb/p/8884200.html
Copyright © 2020-2023  润新知