面向字节的输入输出流
字节流以字节为传输单位,读写 8 位数据。除了纯文本,还能处理图片、音频这类二进制文件。InputStream 和 OutputStream 是所有字节流的父类,同样都是抽象类。 程序里真正 new 出来的,一般是它们某个子类的对象;调用继承来的 read() / write(),就能对外设做输入输…
字节流以字节为传输单位,读写 8 位数据。除了纯文本,还能处理图片、音频这类二进制文件。InputStream 和 OutputStream 是所有字节流的父类,同样都是抽象类。 程序里真正 new 出来的,一般是它们某个子类的对象;调用继承来的 read() / write(),就能对外设做输入输…
面向字符的输出流都是 Writer 的子类。和输入侧一样,Writer 是抽象类,真正写出文本要用 FileWriter、BufferedWriter 这些子类。 写文件时先构造输出流对象,再 write();带缓冲的写法还要在结束前 flush(),把缓冲区里剩下的字符真正落到文件上。 一、Wri…
字符流是按字符而不是按字节来读写的:源或目标通常是文本文件。java.io 里所有字符流的父类是 Reader 和 Writer,二者都是抽象类,实际工作要靠子类。 子类可以分成两类:直接对接数据源或目的地的叫节点流,在流上再做缓冲、转换等处理的叫处理流。本节先看面向字符的输入流。 一、Reader…
输入输出(I/O)是程序与外部设备或其他计算机交互的操作:从键盘读、从本地或网络文件读、往外写。Java 把这些操作用流统一接口表示,程序设计更简单。 流(Stream)指输入输出时各部件之间的数据流动。按传输方向分成输入流与输出流。流里既可以是原始二进制,也可以是按某种格式编码后的数据。 一、输入…
Java 的 IO 可以按三个轴来记:方向(输入 / 输出)、数据单位(字节 / 字符)、功能(节点流 / 处理流)。四个抽象基类是 InputStream、OutputStream、Reader、Writer。 分类轴 一类 另一类 方向 输入流 输出流 数据单位 字节流 InputStream …