目前学习到的IO流体系:
一.概述
对象字节输入输出流是Java提供的用于处理二进制数据的输入输出流。它们是InputStream和OutputStream的子类,用于读取和写入字节数据。
对象字节输入输出流能够读写任何类型的Java对象,包括基本类型、数组和自定义的对象。
对象流的使用原理:
对象字节输出流----ObjectOutputStream:可以把Java对象进行序列化:把Java对象存入到文件中去。
对象字节输入流----ObjectInputStream:可以对Java对象进行反序列化:把存储在文件的对象读取到内存中。
二.对象字节输出流(ObjectOutputStream)
ObjectOutputStream----对象字节输出流:可以把Java对象进行序列化:把Java对象存入到文件中去
构造器:new ObjectOutputStream(new FileOutputStream(地址)) 包装基础字节输出流
方法: writeObject(对象)----把对象写进某个文件里
注意:如果要一次序列多个对象 :用一个ArrayList集合存储多个对象然后对ArrayList集合进行序列化即可 ArrayList已经实现了序列化接口
以下是具体实例:
1.创建对象字节输出流包装低级字节输出流,
2.使用创建的对象字节输出流管道调用writeObject()方法把对象写进文件里
▲▲▲:对象要序列话就要对对象类进行实现序列化接口Serializable接口,且比如对象的有些信息要进行隐藏就要在对象类的变量修饰时加 transient修饰,这样对象输入流读取时就读取不到了
写入的对象在文件里是:
三.对象输入流--ObjectIntputStream
ObjectInputStream----对象字节输入流:可以对Java对象进行反序列化:把存储在文件的对象读取到内存中
构造器:new ObjectInputStream(new FileInputStream(地址)) :创建字节对象输入流包装基础的字节输入流
方法: readObject() ---读取出文件中的序列化的对象,反序列编码出来
步骤:1.创建对象字节输入流包装低级的字节输入流
2.使用创建的管道调用readObject()方法读取文件中的序列化的对象
实例:
结果:
这里的passWord=null 是因为在对象User类中用transient修饰,进行了隐藏。
至此,关于IO流的体系大致讲述完毕,若有疑惑查看之前的内容。感谢各位大佬的观看谢谢了!!