# Java IO流精讲(上)导读

在Java程序开发中,数据的持久化存储与传输是构建任何复杂应用的基础。本课程《Java IO流精讲(上)》带你从底层逻辑出发,系统掌握Java输入输出(IO)的核心机制,为后续处理文件读写、网络通信等高级场景打下坚实基础。

**第一部分:File类——文件操作的基石**

课程开篇深入剖析`java.io.File`类,这是Java中与文件系统交互的核心入口。你将学习到:
- **File类的创建与构造**:理解如何通过绝对路径与相对路径构建File对象,以及不同构造方法的适用场景。
- **文件与目录的CRUD操作**:详细演示如何使用`createNewFile()`创建文件、`mkdir()`与`mkdirs()`创建文件夹,以及如何安全地删除文件或目录。
- **重命名与移动**:掌握`renameTo()`方法,实现文件的重命名、跨目录移动甚至剪切操作。
- **判断与获取信息**:学习如何判断文件是否存在、是否为目录或普通文件,并获取文件的绝对路径、父目录、长度、最后修改时间等关键元数据。
- **实战练习**:通过“批量修改文件名”这一经典案例,综合演练File类的递归遍历与字符串处理能力,巩固所学知识。

**第二部分:IO流入门——字节流的读写艺术**

在理解文件操作的基础上,课程进入IO流的核心领域。我们将首先梳理IO流的分类体系:按流向分为输入流(Input)与输出流(Output);按处理单位分为字节流(Byte)与字符流(Character)。本课程聚焦于最基础的**字节流**,因为它能处理所有类型的文件,包括图片、音频、视频等二进制数据。

你将跟随讲师完成以下关键技能点:
- **输出流初探**:使用`FileOutputStream`将字符串数据写入本地文件,理解流的关闭与资源释放的重要性。
- **数据追加模式**:学习如何在构造`FileOutputStream`时指定`append`参数,实现向已有文件末尾追加内容而非覆盖,这在日志记录等场景中极为常用。
- **换行符处理**:探讨不同操作系统下换行符的差异(如Windows的`\r`与Linux的``),确保程序的跨平台兼容性。
- **异常处理规范**:掌握标准的IO异常处理模板,使用`try-with-resources`语句自动关闭流,避免内存泄漏和资源浪费。
- **输入流读取**:使用`FileInputStream`读取文件内容,重点讲解如何将读取到的字节数组转换为可读字符串,实现文件的完整读取。

**学习目标**

学完本课后,你将能够:
1. 熟练运用`File`类进行文件的创建、删除、重命名、信息查询及批量处理操作。
2. 清晰理解IO流的分类逻辑,特别是字节流与字符流的区别。
3. 掌握`FileOutputStream`和`FileInputStream`的基本用法,实现数据的持久化写入与安全读取。
4. 养成规范的IO编程习惯,妥善处理异常,确保代码的健壮性与资源安全。

本课程是Java IO体系的入门关键,内容扎实、案例实用,适合希望夯实Java基础、迈向中级开发的学员认真修读。

课程目录

课程目录64 集
  • 1-1 [Java IO流精讲(上)] IO流概述 (15:03).mp4
  • 1-2 [Java IO流精讲(上)] File类概述 (07:35).mp4
  • 1-3 [Java IO流精讲(上)] File类的构造方法讲解 (09:56).mp4
  • 1-4 [Java IO流精讲(上)] File对象创建文件 (13:28).mp4
  • 1-5 [Java IO流精讲(上)] File对象创建文件夹 (09:10).mp4
  • 1-6 [Java IO流精讲(上)] File的删除功能 (09:17).mp4
  • 1-7 [Java IO流精讲(上)] File的重命名和移动功能 (11:00).mp4
  • 1-8 [Java IO流精讲(上)] File的判断功能 (12:00).mp4
  • 1-9 [Java IO流精讲(上)] File的获取功能 (21:19).mp4
  • 1-10 [Java IO流精讲(上)] File的获取功能2 (04:03).mp4
  • 1-11 [Java IO流精讲(上)] File类的练习 (08:01).mp4
  • 1-12 [Java IO流精讲(上)] Filei类的练习之批量改文件名的思路分析 (08:33).mp4
  • 1-13 [Java IO流精讲(上)] File类的练习之批量改文件名的代码实现 (19:20).mp4
  • 1-14 [Java IO流精讲(上)] IO流的分类 (13:01).mp4
  • 1-15 [Java IO流精讲(上)] IO流入门案例 (22:05).mp4
  • 1-16 [Java IO流精讲(上)] 字节输出流的几个Writer讲解 (05:39).mp4
  • 1-17 [Java IO流精讲(上)] 如何往文件中追加数据 (06:36).mp4
  • 1-18 [Java IO流精讲(上)] 如何让追加的字符数据实现换行 (05:37).mp4
  • 1-19 [Java IO流精讲(上)] 加入异常处理的IO操作 (12:45).mp4
  • 1-20 [Java IO流精讲(上)] 用字节输入流读取数据1 (20:25).mp4
  • 1-21 [Java IO流精讲(上)] 用字节输入流读取数据2 (16:42).mp4
  • 1-22 [Java IO流精讲(上)] 用字节输入流读取数据的注意事项 (07:13).mp4
  • 1-23 [Java IO流精讲(上)] 用字节输入流读取数据3 (05:54).mp4
  • 1-24 [Java IO流精讲(上)] 加入异常处理的字节输入流读取数据 (09:58).mp4
  • 1-25 [Java IO流精讲(上)] 练习复制一个文件 (13:40).mp4
  • 1-26 [Java IO流精讲(上)] 练习复制一张图片 (07:49).mp4
  • 1-27 [Java IO流精讲(上)] 字节缓冲流引入 (14:21).mp4
  • 1-28 [Java IO流精讲(上)] 字节缓冲流讲解 (18:12).mp4
  • 1-29 [Java IO流精讲(上)] 字节流回顾 (03:39).mp4
  • 1-30 [Java IO流精讲(上)] 字符流概述 (10:25).mp4
  • 1-31 [Java IO流精讲(上)] 编码、解码及码表讲解 (18:05).mp4
  • 1-32 [Java IO流精讲(上)] 编码、解码及码表讲解2 (18:09).mp4
  • 1-33 [Java IO流精讲(上)] 编码、解码的代码演示 (19:46).mp4
  • 1-34 [Java IO流精讲(上)] 编码、解码的讲解补充 (05:35).mp4
  • 1-35 [Java IO流精讲(上)] 字符输入流的使用 (23:58).mp4
  • 1-36 [Java IO流精讲(上)] 字符输入流的读方法讲解 (16:57).mp4
  • 1-37 [Java IO流精讲(上)] 加入异常处理的字符流读取数据 (14:37).mp4
  • 1-38 [Java IO流精讲(上)] 字符输出流概述 (17:02).mp4
  • 1-39 [Java IO流精讲(上)] 字符输出流的刷新缓冲机制 (09:25).mp4
  • 1-40 [Java IO流精讲(上)] 字符输出流的其他write方法 (12:44).mp4
  • 1-41 [Java IO流精讲(上)] 字符流复制文件案例 (10:57).mp4
  • 1-42 [Java IO流精讲(上)] 加入异常处理的复制文件案例 (04:08).mp4
  • 1-43 [Java IO流精讲(上)] 字符输出缓冲流写数据 (11:13).mp4
  • 1-44 [Java IO流精讲(上)] 字符输入缓冲流读数据 (06:37).mp4
  • 1-45 [Java IO流精讲(上)] 字符缓冲输出流的换行方法 (05:22).mp4
  • 1-46 [Java IO流精讲(上)] 字符缓冲输入流的readLine方法 (05:30).mp4
  • 1-47 [Java IO流精讲(上)] 便捷字符流的讲解 (18:18).mp4
  • 1-48 [Java IO流精讲(上)] 字节流和字符流的总结 (49:54).mp4
  • 1-49 [Java IO流精讲(上)] 用字节流复制图片的三种方式总结 (11:16).mp4
  • 1-50 [Java IO流精讲(上)] 用字符流复制文件的多种方式 (19:14).mp4
  • 1-51 [Java IO流精讲(上)] 练习把集合中的数据写到文件中去 (06:29).mp4
  • 1-52 [Java IO流精讲(上)] 练习把文件中的数据读到集合中去 (14:21).mp4
  • 1-53 [Java IO流精讲(上)] 随机获取文件中的名字 (08:53).mp4
  • 1-54 [Java IO流精讲(上)] 复制单级文件夹下文件的练习 (17:01).mp4
  • 1-55 [Java IO流精讲(上)] 递归的概念 (07:17).mp4
  • 1-56 [Java IO流精讲(上)] 递归演示分析 (19:52).mp4
  • 1-57 [Java IO流精讲(上)] 求斐波拉契数列 (14:30).mp4
  • 1-58 [Java IO流精讲(上)] 求斐波拉契数列的递归实现 (08:49).mp4
  • 1-59 [Java IO流精讲(上)] 复制多级文件夹的理论分析 (07:58).mp4
  • 1-60 [Java IO流精讲(上)] 复制多级文件夹的代码实现 (14:35).mp4
  • 1-61 [Java IO流精讲(上)] 录入学生成绩到文件练习的思路分析 (04:08).mp4
  • 1-62 [Java IO流精讲(上)] 录入学生成绩到文件的练习代码实现1 (28:34).mp4
  • 1-63 [Java IO流精讲(上)] 录入学生成绩到文件的练习代码实现2 (08:07).mp4
  • 1-64 [Java IO流精讲(上)] 对文件中字符串中的字符进行排序的练习 (08:56).mp4