资讯详情

Java IO流基础:File类

📅 2026/10/23 2:57:31 | 华诺云谱 👁 阅读
Java IO流基础:File类
在 Java 中java.io.File 类是文件和目录路径名的抽象表示。它主要用于文件和目录的创建、查找和删除等操作。本文将结合我的学习代码系统整理 File 类的核心知识点并分享几个经典的实战案例如递归查找、递归删除以及新手极易踩坑的空指针异常问题。一、 File 类的构造与基础判断 (Demo1)File 类提供了多种构造方法最常用的是直接传入路径字符串。创建 File 对象并不会立即在磁盘上创建文件它只是一个路径的抽象表示。使用 isDirectory()、isFile()、exists() 可以判断该路径代表的实际状态。二、 获取文件信息与路径问题 (Demo2)关于路径Java 中分为绝对路径从盘符开始和相对路径相对于当前项目根目录。三、 文件的创建与删除 (Demo3)重点注意1.createNewFile() 只能创建文件不能创建文件夹且必须处理 IOException。2.mkdir() 只能创建单级文件夹。3.mkdirs() 可以创建多级文件夹推荐使用。4.delete() 删除不走回收站。如果删除的是有内容的文件夹则会失败。四、 获取文件夹内容与高级过滤 (Demo4)listFiles() 是 File 类中最核心的方法之一用于获取文件夹下的所有文件和子文件夹。我们可以通过传入 FileFilter 接口来定制过滤规则。五.综合实战应用实战1递归查找全盘所有的 PNG 图片 (FindPng)实战2递归删除包含内容的文件夹 (Delete_aaa)分析 Java 中的 delete() 方法无法直接删除非空文件夹。必须先删除文件夹内部的所有内容最后再删除该文件夹本身。这就是经典的“先清空后删除”递归思想。实战3递归统计文件夹的总大小 (GetSrcLen)分析 要获取一个文件夹的总大小我们需要遍历它里面的所有内容。如果是文件直接累加 length()如果是子文件夹就再次调用自身递归去计算子文件夹的大小最后把所有结果加起来。实战4递归统计各类后缀名文件的数量 (GetSrcCount)分析 这个需求比单纯累加大小更复杂需要按文件后缀名如 .java、.txt分类统计数量。这里用到 MapString, Integer 来存储“后缀名 - 数量”的键值对。同样是递归遍历遇到文件就截取后缀并存入 Map遇到文件夹就递归调用最后将子文件夹的 Map 数据合并到当前 Map 中。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑