[java] 输入输出流

字节流和字符流

字节流是以字节为单位传输的流,字符流是以经过编码后的字符为单位传输的流。

节点流和处理流

  • 节点流
    可以从或向一个特定的地方(节点)读写数据
    如文件流FileInputStream,内存流ByteArrayInputStream
    常用的节点流:
    常用的节点流
  • 处理流
    是对一个已存在的流的连接和封装,处理流又称为过滤流
    如缓冲处理流BufferedReader
    常用的处理流:
    常用的处理流

对象的读写

  • 对象的读写
    ObjectInputStream, ObjectOutputStream
  • 基本数据的读写
    DataInputStream, DataOutputStream
  • 序列化(serialize)与反序列化(deserialize) 要求对象实现Serializable接口,该接口没有方法,只是一个标记
class Person implements Serializable{...}
public class SerializeDemo{
    public static void main(String[] args){
        ......
        String fileName = "s.temp";
        //Serialize
        ObjectOutputStream output = new ObjectOutputStream(
            new FileOutputStream(filename));
        for(Person p : ps) output.writeObject(p);
        output.close();
        ......
    }
    
}
Written on December 11, 2022