簡體   English   中英

如何限制原始數據保存在文本文件中

[英]How to restrict raw data to save in text file

我正在 Java 中開發一個小型應用程序。 At certain point i need to save the object of my custom class to a text file for this i override toString() method in my custom class and then use ObjectOutputStream class to save object of my custom class to text file. 現在一切正常,即我的文本文件包含文本,但與該文本一起它還包含一些奇怪的字符或原始數據。 以下三行包含主要代碼

ObjectOutputStream outputStream = null;
outputStream = new ObjectOutputStream(new FileOutputStream(filename));
outputStream.writeObject(person);//person is the instance of my custom class

有沒有辦法限制將原始數據保存在我的文本文件中?

ObjectOutputStream 序列化傳遞給 writeObject() 的對象。 它不寫 object 的文本版本。 如果要將toString()返回的值寫入文件,則用FileWriter之類的東西打開一個文件,調用toString()方法獲取String,然后寫入FileWriter。

根據您的需要,您應該查看 XML 序列化庫,例如JAXBXStream

上面給出的解決方案只會將 object 的字符串表示形式保存到文件中(這可能是您想要的),但我想如果您想將 object 保存到文件中,之后可能可以訪問它。

JAXB 和 XStream 都提供了序列化/反序列化 Java object 的方法。 使用 XStream(也許還有 JAXB,我不知道),如果您需要更緊湊的東西,您甚至可以在 JSON 中序列化/反序列化您的對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM