文章目录

一、标准输入流

二、标准输出流

三、 字节打印流

四、字符打印流

五、对象序列化流

一、标准输入流

二、标准输出流

三、字节打印流

四、字符打印流

五、对象序列化流

对象序列化流:

  • 将对象保存到硬盘中,或者在网络中传输对象
  • ObjectOutputStream和ObjectInputStream

书上解释:

对象的序列化(Serializable)是指将一个java对象转换成一个I/O流中字节序列的过程,其目的是为了将对象保存到磁盘中,或允许在网络中直接传输对象,对象序列化机制可以使内存中的java对象转换成与平台无关的二进制流,即可以将这种二进制流持久的保存在磁盘上,又可以通过网络将这种二进制传输到另一个网络节点,其他程序在获得了这种二进制流后,还可以将它恢复成原来的java对象,这种操作叫反序列化。
  • 如果想让某个对象支持序列化机制,那么这个对象所在的类必须是可序列化的。
  • 在Java中,可序列化的类必须实现Serializable或者Externalizable两个接口其中一个,常用的有Serializable。
  • 后者性能好,但是编程的复杂度大

对象序列化:
	ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("D:\\wokspace1\\firstwork\\123.txt"));
		
		Student s = new Student("黑哥",30);
		
		oos.writeObject(s);
		
		oos.close();
反序列化对象:
	readObject():
	读取对象的时候,需要抛出异常:ClassNotFoundException
	ObjectInputStream ois = new ObjectInputStream(new FileInputStream("D:\\wokspace1\\firstwork\\123.txt"));
		
		Object obj = ois.readObject();
		
		Student s = (Student) obj;
		
		System.out.println(s.getName()+","+s.getAge());
		
		ois.close();