对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中?

解决方案 »

  1.   

    目前,没有直接的方法可以将对象写入到随机存取文件中。但是可以使用ByteArray输入/输出流作为中介,来向随机存取文件中写入或从随机存取文件中读出字节,并且可以利用字节流来创建对象输入/输出流,以用于读写对象。需要注意的是在字节流中要包含一个完整的对象,否则读写对象时将发生错误。例如,java.io.ByteArrayOutputStream可用于获取ObjectOutputStream的字节流,从中可得到byte数组并可将之写入到随机存取文件中。相反,我们可以从随机存取文件中读出字节数组,利用它可构造ByteArrayInputStream,进而构造出ObjectInputStream,以读取对象。