教你使用File类列出目录所有文件 | 带你学《Java语言高级特性》之四十九

简介: 学完了File类对文件的相关基本操作,现在我们来做一个列出指定目录中全部文件的案例,来进一步熟悉File类吧。

上一篇:借助File类了解文件的内在美 | 带你学《Java语言高级特性》之四十八

学完了File类对文件的相关基本操作,现在我们来做一个列出指定目录中全部文件的案例,来进一步熟悉File类吧。

【本节目标】
通过阅读本节内容,你将结合之前所学,通过File对象的状态查询实现目录/文件的判断,并进一步借助其他方法列出目录中的全部文件。

File操作案例:列出指定目录中的全部文件

现在可以由开发者任意设置一个目录的路径,而后就将这个目录中所有的文件的信息全部列出,包括子目录中的所有文件,在这样的处理情况下,最后的做法就是利用递归的形式来完成。

范例:程序实现

import java.io.File;
public class JavaAPIDemo {
    public static void main(String[] args)throws Exception{
        File file = new File("D:"+ File.separator) ;   //是一个目录
        listDir(file);
    } 
    public static void listDir(File file) {
        if(file.isDirectory()) {    //是一个目录
           File results [] = file.listFiles();   //列出目录中的全部内容
           if(results != null) {
              for(int x = 0 ; x < results.length; x ++) {
                  listDir(results[x]);   //继续依次判断
              }
           } 
        }
        System.out.println(file);   //获得完整路径
    }
}

如果现在将路径输出变为删除操作,那么就彻底删除路径。

import java.io.File;
public class JavaAPIDemo {
    public static void main(String[] args)throws Exception{
        File file = new File("D:"+ File.separator +"mldndemo") ;   //是一个目录
        listDir(file);
    } 
    public static void listDir(File file) {
        if(file.isDirectory()) {    //是一个目录
           File results [] = file.listFiles();   //列出目录中的全部内容
           if(results != null) {
              for(int x = 0 ; x < results.length; x ++) {
                  listDir(results[x]);   //继续依次判断
              }
           } 
        }
        file.delete();
    }
}

想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学

下一篇:教你使用File类批量修改文件名称 | 带你学《Java语言高级特性》之五十
更多Java面向对象编程文章查看此处

相关文章
|
3天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
28 3
|
1天前
|
安全 Java 程序员
|
1天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
1天前
|
Java
Java Class类
Java Class类
8 0
|
6天前
|
前端开发 Java Go
开发语言详解(python、java、Go(Golong)。。。。)
开发语言详解(python、java、Go(Golong)。。。。)
|
7天前
|
人工智能 前端开发 Java
Java语言开发的AI智慧导诊系统源码springboot+redis 3D互联网智导诊系统源码
智慧导诊解决盲目就诊问题,减轻分诊工作压力。降低挂错号比例,优化就诊流程,有效提高线上线下医疗机构接诊效率。可通过人体画像选择症状部位,了解对应病症信息和推荐就医科室。
146 10
|
8天前
|
Java 编译器
Java Character 类
4月更文挑战第13天
|
9天前
|
存储 Java
Java基础教程(7)-Java中的面向对象和类
【4月更文挑战第7天】Java是面向对象编程(OOP)语言,强调将事务抽象成对象。面向对象与面向过程的区别在于,前者通过对象间的交互解决问题,后者按步骤顺序执行。类是对象的模板,对象是类的实例。创建类使用`class`关键字,对象通过`new`运算符动态分配内存。方法包括构造函数和一般方法,构造函数用于对象初始化,一般方法处理逻辑。方法可以有0个或多个参数,可变参数用`类型...`定义。`this`关键字用于访问当前对象的属性。
|
23小时前
|
缓存 Java
【Java基础】简说多线程(上)
【Java基础】简说多线程(上)
5 0
|
1天前
|
并行计算 算法 安全
Java从入门到精通:2.1.3深入学习Java核心技术——掌握Java多线程编程
Java从入门到精通:2.1.3深入学习Java核心技术——掌握Java多线程编程