wirteObiect()和readObject()
时间: 2023-07-14 17:58:30 浏览: 41
`writeObject()`和`readObject()`是Java中用于对象的序列化和反序列化的方法。
`writeObject()`方法用于将一个对象序列化为字节流,可以将对象保存到磁盘文件、网络传输等。它接受一个实现了`Serializable`接口的对象作为参数,并将其转换为字节流进行存储。
示例代码:
```java
// 将对象序列化为字节流并保存到文件
ObjectOutputStream outputStream = new ObjectOutputStream(new FileOutputStream("object.ser"));
outputStream.writeObject(object);
outputStream.close();
```
`readObject()`方法用于从字节流中反序列化对象,将字节流转换为原始的对象。它返回一个`Object`类型的对象,需要进行类型转换。
示例代码:
```java
// 从文件中读取字节流并反序列化为对象
ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream("object.ser"));
Object object = inputStream.readObject();
inputStream.close();
// 对象类型转换
MyObject myObject = (MyObject) object;
```
需要注意的是,被序列化的对象必须实现`Serializable`接口,否则会抛出`NotSerializableException`异常。同时,静态变量和transient修饰的变量不会被序列化。