**《Java基础入门》第四篇2:IO与序列化——打通数据流转的任督二脉**
在掌握了Java面向对象的核心思想与集合框架后,程序往往被困在内存的“孤岛”中。本篇课程《IO与序列化》正是为了打破这一局限,帮助你构建起Java程序与外部世界(文件、网络、设备)进行数据交互的能力。这不仅是Java开发的基石,更是后续学习文件处理、网络编程及框架底层原理的必经之路。
课程首先从**IO概述**入手,厘清了输入/输出流的核心概念。你将理解“流”并非物理实体,而是一种抽象的数据传输通道,并学会根据数据流向(输入/输出)和数据单位(字节/字符)对IO体系进行宏观分类。这一部分旨在建立清晰的认知地图,避免后续学习时混淆各类流的使用场景。
紧接着,课程深入剖析了**File类**。作为Java中唯一代表文件本身而非文件内容的类,File类是操作文件系统的基础。通过三个章节的层层递进,你将掌握如何创建、删除、重命名文件及目录,如何遍历目录结构,以及如何判断文件属性。这是所有高级IO操作的前提,请务必扎实掌握,因为它直接对应着实际开发中常见的文件管理系统需求。
随后,内容进入核心的**IO流类**部分,共计六个章节,系统性地讲解了Java庞大的流体系。
1. **字节流**:重点讲解`InputStream`和`OutputStream`及其子类,如用于处理音频、图片等二进制文件的`FileInputStream`。
2. **字符流**:针对文本数据,深入讲解`Reader`和`Writer`,特别是`FileReader`与`FileWriter`,并强调编码格式(如UTF-8)对文本处理的关键影响。
3. **缓冲流**:为解决频繁I/O操作导致的性能瓶颈,课程引入了`BufferedInputStream`、`BufferedReader`等缓冲流,讲解其“内存缓冲”机制带来的效率提升。
4. **转换流与打印流**:涵盖`InputStreamReader`/`OutputStreamWriter`如何实现字节流与字符流的桥梁作用,以及`PrintStream`在标准输出中的特殊地位。
5. **数据流与对象流**:进阶讲解如何将基本数据类型(如int, double)直接写入文件,以及如何处理复合对象。
最后,课程聚焦于**序列化**与**配置文件**。序列化是将对象状态转换为字节序列的过程,是实现对象持久化和网络传输的关键技术。你将学习`Serializable`接口的使用、`ObjectInputStream`/`ObjectOutputStream`的操作,并深刻理解`serialVersionUID`在版本控制中的重要性,避免因类结构变更导致的反序列化失败。此外,课程还介绍了Java配置文件(Properties)的读取与写入,这是简化程序配置管理的实用技巧。
整篇课程内容由浅入深,理论与实践并重。建议学习者边看边敲代码,特别是要注重区分字节流与字符流的适用边界,以及掌握异常的规范处理。只有夯实了IO基础,才能在后续的JDBC数据库连接、网络通信乃至Spring框架源码阅读中游刃有余。
课程目录
课程目录12 集
- 1 IO概述、File类1 (22:30).mp4
- 2 File类 2 (19:18).mp4
- 3 File类 3 (26:41).mp4
- 4 IO流类 1 (21:13).mp4
- 5 IO流类 2 (19:14).mp4
- 6 IO流类 3 (23:15).mp4
- 7 IO流类 4 (22:53).mp4
- 8 IO流类 5 (26:36).mp4
- 9 IO流类 6 (16:15).mp4
- 10 序列化 1 (15:53).mp4
- 11 序列化 2 (18:04).mp4
- 12 java配置文件 (25:49).mp4






