别让 File 操作成为面试“送命题”
很多 Java 初学者在写项目时,习惯直接搬 `new FileInputStream` 或套各种工具类,一旦遇到需要创建目录、递归遍历文件、或者处理跨平台路径问题,就会暴露基础不牢的短板。这门课专门针对 **Java IO 流中的 File 类** 进行深度拆解,解决的核心痛点是:**你以为会了 API,其实连文件的基本元数据操作都没搞通透。**
它不是泛泛而谈 IO 流的整体架构,而是聚焦于 `java.io.File` 这一最基础却最易忽视的入口类。对于备考认证或面试的同学来说,File 类的细节(如绝对路径与相对路径的区别、删除操作的隐患、重命名的局限性)往往是面试官追问“为什么”的高频区。课程从概述讲起,逐步深入到构造方法、创建、删除、重命名及各类获取判断功能,帮你补齐这块“看起来简单、用起来全是坑”的能力缺口。
建议先看这几块,配合练习更扎实
如果你有基本的 Java 语法基础,可以直接切入。建议按以下顺序重点攻克:
- **File 类概述与构造方法**:理解 File 对象本质是路径名的抽象表示,而非文件本身,这是后续所有操作的前提。
- **文件与文件夹的创建/删除**:重点留意 `createNewFile` 与 `mkdirs` 的区别,以及删除非空目录时的常见错误。
- **重命名与移动**:注意跨盘符移动时 `renameTo` 的失效问题,这是实战中极易踩雷的点。
- **获取与判断功能**:详细学习如何获取文件名、路径、长度、最后修改时间,以及如何判断文件是否存在、是否可执行等。
配套练习务必亲自动手,比如写一个程序遍历指定目录下的所有文件并按大小排序,或实现一个递归删除指定文件夹的功能。不要只看不练,否则遇到真实场景依然无从下手。
学完能独立做什么?
完成本节后,你将能够:
1. **独立操作文件系统**:熟练创建、删除、重命名、移动文件和文件夹,理解各方法在不同操作系统下的行为差异。
2. **精准获取文件信息**:能快速提取文件的元数据,用于日志记录、文件管理或校验场景。
3. **规避常见陷阱**:清楚知道哪些操作会失败、为什么失败,以及如何编写更健壮的代码处理异常。
资料包中的视频讲解配合源码示例,建议边看边敲代码,遇到不理解的方法调用立即在 IDE 中调试验证。这门课虽只讲 File 类,却是通往高级 IO 操作(如 NIO、通道、缓冲区)的必经之路,基础打牢,后面才能走得更稳。
课程目录
1-1 [Java IO流精讲(上)] IO流概述 (15:03) 1-2 [Java IO流精讲(上)] File类概述 (07:35) 1-3 [Java IO流精讲(上)] File类的构造方法讲解 (09:56) 1-4 [Java IO流精讲(上)] File对象创建文件 (13:28) 1-5 [Java IO流精讲(上)] File对象创建文件夹 (09:10) 1-6 [Java IO流精讲(上)] File的删除功能 (09:17) 1-7 [Java IO流精讲(上)] File的重命名和移动功能 (11:00) 1-8 [Java IO流精讲(上)] File的判断功能 (12:00) 1-9 [Java IO流精讲(上)] File的获取功能 (21:19) 1-10 [Java IO流精讲(上)] File的获取功能2 (04:03) 1-11 [Java IO流精讲(上)] File类的练习 (08:01) 1-12 [Java IO流精讲(上)] Filei类的练习之批量改文件名的思路分析 (08:33) 1-13 [Java IO流精讲(上)] File类的练习之批量改文件名的代码实现 (19:20) 1-14 [Java IO流精讲(上)] IO流的分类 (13:01) 1-15 [Java IO流精讲(上)] IO流入门案例 (22:05) 1-16 [Java IO流精讲(上)] 字节输出流的几个Writer讲解 (05:39) 1-17 [Java IO流精讲(上)] 如何往文件中追加数据 (06:36) 1-18 [Java IO流精讲(上)] 如何让追加的字符数据实现换行 (05:37) 1-19 [Java IO流精讲(上)] 加入异常处理的IO操作 (12:45) 1-20 [Java IO流精讲(上)] 用字节输入流读取数据1 (20:25) 1-21 [Java IO流精讲(上)] 用字节输入流读取数据2 (16:42) 1-22 [Java IO流精讲(上)] 用字节输入流读取数据的注意事项 (07:13) 1-23 [Java IO流精讲(上)] 用字节输入流读取数据3 (05:54) 1-24 [Java IO流精讲(上)] 加入异常处理的字节输入流读取数据 (09:58) 1-25 [Java IO流精讲(上)] 练习复制一个文件 (13:40) 1-26 [Java IO流精讲(上)] 练习复制一张图片 (07:49) 1-27 [Java IO流精讲(上)] 字节缓冲流引入 (14:21) 1-28 [Java IO流精讲(上)] 字节缓冲流讲解 (18:12) 1-29 [Java IO流精讲(上)] 字节流回顾 (03:39) 1-30 [Java IO流精讲(上)] 字符流概述 (10:25) 1-31 [Java IO流精讲(上)] 编码、解码及码表讲解 (18:05) 1-32 [Java IO流精讲(上)] 编码、解码及码表讲解2 (18:09) 1-33 [Java IO流精讲(上)] 编码、解码的代码演示 (19:46) 1-34 [Java IO流精讲(上)] 编码、解码的讲解补充 (05:35) 1-35 [Java IO流精讲(上)] 字符输入流的使用 (23:58) 1-36 [Java IO流精讲(上)] 字符输入流的读方法讲解 (16:57) 1-37 [Java IO流精讲(上)] 加入异常处理的字符流读取数据 (14:37) 1-38 [Java IO流精讲(上)] 字符输出流概述 (17:02) 1-39 [Java IO流精讲(上)] 字符输出流的刷新缓冲机制 (09:25) 1-40 [Java IO流精讲(上)] 字符输出流的其他write方法 (12:44) 1-41 [Java IO流精讲(上)] 字符流复制文件案例 (10:57) 1-42 [Java IO流精讲(上)] 加入异常处理的复制文件案例 (04:08) 1-43 [Java IO流精讲(上)] 字符输出缓冲流写数据 (11:13) 1-44 [Java IO流精讲(上)] 字符输入缓冲流读数据 (06:37) 1-45 [Java IO流精讲(上)] 字符缓冲输出流的换行方法 (05:22) 1-46 [Java IO流精讲(上)] 字符缓冲输入流的readLine方法 (05:30) 1-47 [Java IO流精讲(上)] 便捷字符流的讲解 (18:18) 1-48 [Java IO流精讲(上)] 字节流和字符流的总结 (49:54) 1-49 [Java IO流精讲(上)] 用字节流复制图片的三种方式总结 (11:16) 1-50 [Java IO流精讲(上)] 用字符流复制文件的多种方式 (19:14) 1-51 [Java IO流精讲(上)] 练习把集合中的数据写到文件中去 (06:29) 1-52 [Java IO流精讲(上)] 练习把文件中的数据读到集合中去 (14:21) 1-53 [Java IO流精讲(上)] 随机获取文件中的名字 (08:53) 1-54 [Java IO流精讲(上)] 复制单级文件夹下文件的练习 (17:01) 1-55 [Java IO流精讲(上)] 递归的概念 (07:17) 1-56 [Java IO流精讲(上)] 递归演示分析 (19:52) 1-57 [Java IO流精讲(上)] 求斐波拉契数列 (14:30) 1-58 [Java IO流精讲(上)] 求斐波拉契数列的递归实现 (08:49) 1-59 [Java IO流精讲(上)] 复制多级文件夹的理论分析 (07:58) 1-60 [Java IO流精讲(上)] 复制多级文件夹的代码实现 (14:35) 1-61 [Java IO流精讲(上)] 录入学生成绩到文件练习的思路分析 (04:08) 1-62 [Java IO流精讲(上)] 录入学生成绩到文件的练习代码实现1 (28:34) 1-63 [Java IO流精讲(上)] 录入学生成绩到文件的练习代码实现2 (08:07) 1-64 [Java IO流精讲(上)] 对文件中字符串中的字符进行排序的练习 (08:56)





