加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何将序列化对象编写为人类可读的Txt文件

发布时间:2020-12-15 05:10:54 所属栏目:Java 来源:网络整理
导读:我想在TXT文件中以人类可读的形式编写对象,该文件将保存为具有不需要的字符的普通序列化对象. 请建议我如何重写相同的程序以保存到人类可读的TXT文件中 import java.io.*;class book implements Serializable { String name; String author; int nop; int pr
我想在TXT文件中以人类可读的形式编写对象,该文件将保存为具有不需要的字符的普通序列化对象.

请建议我如何重写相同的程序以保存到人类可读的TXT文件中

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();
        }

    }
}

解决方法

看看下面是否解决了你的目的

覆盖Object类的toString()方法以返回对象的状态,然后使用文件编写器将其输出写入文本文件

如果你想要xml类型的表示,请选择JAXB方法

更新: –

请忽略下面程序中的语法/编译错误,因为我还没有测试过,但它会给你一个简短的想法

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;
    // above can be any format whatever way you want


    }
}

现在在你的主要课堂上

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;

class fileio
{
    public static void main(String args[])
    {
        fileio mainObject=new fileio();

        book javabook=new book();
        javabook.name="Java unleashed";
        javabook.author="someone";
        javabook.nop=1032;
        javabook.price=450;
        javabook.discount=10;
        javabook.getDiscount();
        mainObject.writeToFile(javabook);
    }
        public void writeToFile(book javabook)
        {
        try
        {
        File file=new File("JavaBook1.txt");
        FileWriter fw=new FileWriter(file.getAbsoluteFile());
        BufferedWriter bw=new BufferedWriter(fw);
        bw.write(javabook.toString());
        bw.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }

    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读