打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
在java中如何遍历某个路径下的所有文件夹和文件
我们要遍历所有的路径,需要使用到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<node;i++){
                         if(i==node-1){
                               System.out.print("");
                         }
                         else{
                               System.out.print(" ");
                         }
                    }
                    System.out.println(f.getName());
                    fileList(f,node);
              }
        }
   }
然后再次在主函数中调用:
public static void main(String[] args) {
        File file=new File("d:/");
        fileList(file,0);
   }
得到的结果是一个类似树状的结构,如果你对此还不满意,可以尝试给JTree上添加节点,可以做到和资源管理器中一样的结构。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
利用java.io.File类实现遍历本地磁盘上指定盘符或文件夹的所有的文件
【Java】基础38:什么叫递归?
Java 关于File使用
java file.listFiles()按文件名称、日期、大小排序
myeclipse下拷贝svn文件问题。
使用php scandir函数遍历文件夹目录和所有文件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服