objectOutPutStream解决乱码
时间: 2023-06-28 08:11:29 浏览: 200
ObjectOutputStream 并不能直接解决乱码问题,因为它是用于将对象序列化为字节流的。如果你在使用 ObjectOutputStream 时遇到了乱码问题,可能是因为你在写入对象时使用了不支持的字符编码。为了避免这种情况,可以在创建 ObjectOutputStream 对象时指定字符编码,例如:
```java
OutputStream outputStream = new FileOutputStream("data.txt");
ObjectOutputStream objectOutputStream = new ObjectOutputStream(new OutputStreamWriter(outputStream, StandardCharsets.UTF_8));
```
这里我们使用了 UTF-8 编码来写入对象,确保了数据的正确性。在读取对象时,同样需要使用相同的字符编码进行解码,例如:
```java
InputStream inputStream = new FileInputStream("data.txt");
ObjectInputStream objectInputStream = new ObjectInputStream(new InputStreamReader(inputStream, StandardCharsets.UTF_8));
```
这样就可以正确地读取序列化后的对象了。当然,在使用 ObjectOutputStream 和 ObjectInputStream 时,还需要注意一些其他的细节,例如对象必须实现 Serializable 接口等等。
阅读全文