我正在用Java开发一个小应用程序。在某些时候我需要将我的自定义类的对象保存到我的自定义类中的i覆盖toString()
方法的文本文件中,然后使用ObjectOutputStream
类将我的自定义类的对象保存到文本文件。现在一切正常,即我的文本文件包含文本,但随着文本,它也包含一些奇怪的字符或原始数据。以下三行包含该主要代码
ObjectOutputStream outputStream = null;
outputStream = new ObjectOutputStream(new FileOutputStream(filename));
outputStream.writeObject(person);//person is the instance of my custom class
有没有办法限制将原始数据保存在我的文本文件中?
答案 0 :(得分:3)
ObjectOutputStream序列化您传递给writeObject()的对象。它不会写入对象的文本版本。如果要将toString()返回的值写入文件,则使用类似FileWriter的文件打开文件,通过调用toString()方法获取String,然后将其写入FileWriter。
答案 1 :(得分:1)