如何将对象编写为人类可读的文本文件

2024-03-09

我想在文本文件中以人类可读的形式写入对象,该文件被保存为带有不需要的字符的普通序列化对象。

如何重写程序以保存到人类可读的文本文件中?

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(使用前将#替换为@)

如何将对象编写为人类可读的文本文件 的相关文章

随机推荐