我想在文本文件中以人类可读的形式写入对象,该文件被保存为带有不需要的字符的普通序列化对象。
如何重写程序以保存到人类可读的文本文件中?
import java.io.*;
class book implements Serializable
{
String name;
String author;
int nop;
int price;
int discount;
void getDiscount()
{
int finalprice=price-((price/discount));
System.out.println("Final price after discount="+finalprice);
}
public String toString()
{
return name+author+nop+price+discount;
}
}
class fileio
{
public static void main(String args[])
{
MainClass mainObject=new MainClass();
mainObject.writeToFile();
book javabook=new book();
javabook.name="Java unleashed";
javabook.author="someone";
javabook.nop=1032;
javabook.price=450;
javabook.discount=10;
javabook.getDiscount();
}
public void writeToFile()
{
try
{
File file=new File("JavaBook1.txt");
FileWriter fw=new FileWriter(file.getAbsoluteFile());
BufferedWriter bw=new BufferedWriter(fw);
bw.write(book.toString());
bw.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
您可以使用以下方法将其序列化为 XMLJAXB http://www.vogella.com/articles/JAXB/article.html or XStream https://en.wikipedia.org/wiki/XStream。 XML 作为二进制数据更易于人类阅读,因此也许 XML 适合您。假设您还想反序列化数据,这是一个不错的选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)