教你使用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面向对象编程文章查看此处

相关文章
|
10天前
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
69 9
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
1天前
|
存储 监控 算法
探秘局域网桌面监控:深入剖析 Java 语言核心算法
在数字化办公时代,局域网桌面监控如同企业的“智慧鹰眼”,确保工作效率与数据安全。本文以Java为载体,揭示哈希表在监控中的关键应用。通过高效的数据结构和算法,哈希表能快速索引设备连接信息,大幅提升监控的时效性和响应速度。代码示例展示了如何用Java实现设备网络连接监控,结合未来技术如AI、大数据,展望更智能的监控体系,助力企业在数字化浪潮中稳健前行。
|
2月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
165 57
|
1月前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
88 34
|
17天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
2月前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
68 8
|
存储 Java 编译器
Java语言------图书馆管理系统(入门简略版)
Java语言------图书馆管理系统(入门简略版)
135 0
Java语言------图书馆管理系统(入门简略版)
|
小程序 安全 前端开发
【Java编程进阶】Java语言基础入门篇
整个Java全栈编程知识体系十分庞大,包括JavaSE知识,Web前端,Web后端,数据库相关的知识等,初学者应该系统踏实的学习,一步一个脚印。Java语言是一种完全面向对象的跨平台语言。有很多突出的优点,例如简单易学,面向对象,分布式,安全可靠,解释型语言,跨平台运行,可移植高性能多线程,可实现网络编程等。
192 0
【Java编程进阶】Java语言基础入门篇
|
Java
Java学习路线-53:EL(表达式语言)入门及 EL 函数库
Java学习路线-53:EL(表达式语言)入门及 EL 函数库
126 0
|
JavaScript 前端开发 Java
java语言入门总结
java语言入门总结
90 0