欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java递归读取目录下所有文件的方法

程序员文章站 2022-07-12 08:05:15
java递归读取目录下的所有文件(包含子目录下的所有文件)大概思路如下:通过file.listfiles()方法获取目录下的所有文件(包含子目录下的所有文件),得到file...

java递归读取目录下的所有文件(包含子目录下的所有文件)大概思路如下:通过file.listfiles()方法获取目录下的所有文件(包含子目录下的所有文件),得到files[]数组,然后遍历得到的所有文件,通过isfile(文件)和isdirectory(文件夹)方法来判断读取的是文件还是文件夹,如果得到的是文件夹,就递归调用test()方法,如果得到的是文件,就将其加入filelist中,最后测试的时候遍历filelist下的所有文件,来验证读取数据的准确性。

package com.chaoyue.io.test; 
 
import java.io.file; 
import java.util.arraylist; 
import java.util.list; 
 
/** 
 * 递归读取某个目录下的所有文件 
 * 
 * @author 超越 
 * @date 2016年12月5日,下午4:04:59 
 * @motto 人在一起叫聚会,心在一起叫团队 
 * @version 1.0 
 */ 
public class readfile { 
  private static void test(string filedir) { 
    list<file> filelist = new arraylist<file>(); 
    file file = new file(filedir); 
    file[] files = file.listfiles();// 获取目录下的所有文件或文件夹 
    if (files == null) {// 如果目录为空,直接退出 
      return; 
    } 
    // 遍历,目录下的所有文件 
    for (file f : files) { 
      if (f.isfile()) { 
        filelist.add(f); 
      } else if (f.isdirectory()) { 
        system.out.println(f.getabsolutepath()); 
        test(f.getabsolutepath()); 
      } 
    } 
    for (file f1 : filelist) { 
      system.out.println(f1.getname()); 
    } 
  } 
 
  public static void main(string[] args) { 
    test("f:/apache-tomcat-7.0.57-windows-x64"); 
  } 
} 

本地目录下的文件结构如下

java递归读取目录下所有文件的方法

测试读取目录下的文件如下

java递归读取目录下所有文件的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。