在java中如何遍历某个路径下的所有文件夹和文件

2024-12-13 11:57:33
推荐回答(1个)
回答1:

我们要遍历所有的路径,需要使用到java.io.File类,该类中有一个方法File[] listFiles();可以返回该文件下面所包含的所有子文件,String getPath();返回文件的全名称(包括路径),String getName(); 返回文件名。首先,我们先来遍历一下D盘根目录下所有的子文件:public static void fileList() { File file=new File("d:/"); File[] files = file.listFiles(); if (files != null) { for (File f : files) { System.out.println(f.getPath()); } } }对此,我们肯定不满足,我们需要遍历D盘下所有的文件和文件夹,而不是根目录下的文件夹,这个时候我们需要使用到递归:public static void fileList(File file) { File[] files = file.listFiles(); if (files != null) { for (File f : files) { System.out.println(f.getPath()); fileList(f); } } }然后在主函数中调用:public static void main(String[] args) { File file=new File("d:/"); fileList(file); }结果是不是能令你满意呢?显然,输出的都是全路径,我们可以对我们的递归函数做如下改进: public static void fileList(File file,int node) { node++; File[] files = file.listFiles(); if (files != null) { for (File f : files) { for(int i=0;i