国庆节10月1日
--


嘿,别被“IO流”这名字唬住——它其实就是程序和文件之间传纸条的方式 😄 读个配置、存张图片、写段日志……全靠它悄悄搭桥。今天咱们不啃概念,就聊怎么让Java乖乖把数据“拿进来”又“送出去”,顺手避开那些删不掉的空目录、写不进的乱码、还有忘了close的坑。
构造器:

常用方法:
按操作数据单位:
按数据流向:
按流的角色:
| 抽象基类 | 字节流 | 字符流 |
|---|---|---|
| 输入流 | InputStream | Reader |
| 输出流 | OutputStream | Writer |
作用:从文件读取字节数据到程序。
读取方式:
作用:将程序的字节数据写入文件。
写入方式:
构造器:
注意:如果文件不存在,会自动创建(前提是目录存在)。
作用:从文件读取字符数据到程序。
读取方式(同 InputStream 思路,操作单位是 char):
作用:将程序的字符数据写入文件。
写入方式(同 OutputStream 思路):
重要:使用 FileWriter 后,必须关闭流 (close()) 或 刷新流 (flush()) ,数据才会真正写入文件。
作用:包装节点流,提供缓冲、便捷操作等功能,不直接连接数据源。
优势:
关闭:只需关闭最外层的处理流,底层会自动关闭节点流。
BufferedReader / BufferedWriter:
BufferedInputStream / BufferedOutputStream:
作用:保存和恢复对象的值和数据类型。
ObjectOutputStream:提供序列化功能,将对象写入文件。
ObjectInputStream:提供反序列化功能,从文件读取对象。
序列化要求:
注意事项:读写顺序必须一致。
PrintStream / PrintWriter:
如果你喜欢,那么欢迎来到我的世界!
了解更多暂未播放



"所有的相遇都是久别重逢。"—— 未知


