第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將導(dǎo)出的 java 對象的格式更改為文件?

如何將導(dǎo)出的 java 對象的格式更改為文件?

慕妹3242003 2023-09-20 17:02:56
我正在嘗試將 java 對象導(dǎo)出到 txt 文件中,但該文件中的輸出格式不正確并且包含不必要的數(shù)據(jù)。如果有人能告訴我我做錯了什么。這是代碼的簡單示例:import java.io.Serializable;public class Test implements Serializable{    private static final long serialVersionUID = 1L;    private String shortName;    private String fullName;    public Test(String shortName, String fullName) {        this.shortName=shortName;        this.fullName=fullName;    }    public String getShortName() {        return shortName;    }    public void setShortName(String shortName) {        this.shortName = shortName;    }    public String getFullName() {        return fullName;    }    public void setFullName(String fullName) {        this.fullName = fullName;    }    @Override    public String toString() {        return "Name:" + shortName +   "\nFullName: " + fullName;    }}這是該方法的一部分:FileOutputStream outputStream = new FileOutputStream(fullPath);        ObjectOutputStream o = new ObjectOutputStream(outputStream);        Test test = new Test("Short name of test","Full name of test");        o.writeObject(test);        o.close();        outputStream.close();這就是我在文件中得到的內(nèi)容:?í sr &com.testing.project.Evaluation.model.Test        L fullNamet Ljava/lang/String;L     shortNameq ~ xpt Full name of testt Short name of test我將不勝感激任何形式的幫助。
查看完整描述

3 回答

?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個贊

您正在使用 Java 序列化,它將對象寫入其自己的二進(jìn)制格式,而不是文本。如果您需要文本格式,我建議您使用 JSON 以及jackson-databind等庫。

為了方便起見,這里是一個工作示例(既寫入文本文件又從文本文件讀回對象):

主類

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;


import com.fasterxml.jackson.core.JsonGenerationException;

import com.fasterxml.jackson.databind.JsonMappingException;

import com.fasterxml.jackson.databind.ObjectMapper;


public class Main {


? ? public static void main(String[] args) throws JsonGenerationException, JsonMappingException, FileNotFoundException, IOException {

? ? ? ? ObjectMapper om = new ObjectMapper();

? ? ? ? Test test = new Test("Short name of test","Full name of test");

? ? ? ? om.writeValue(new FileOutputStream("test.json"), test);


? ? ? ? Test readValue = om.readValue(new FileInputStream("test.json"), Test.class);

? ? ? ? System.out.println(readValue.getShortName());

? ? ? ? System.out.println(readValue.getFullName());

? ? }

}

測試類


import java.io.Serializable;


public class Test implements Serializable{


? ? private static final long serialVersionUID = 1L;

? ? private String shortName;

? ? private String fullName;


? ? public Test() {


? ? }


? ? public Test(String shortName, String fullName) {

? ? ? ? this.shortName=shortName;

? ? ? ? this.fullName=fullName;

? ? }


? ? public String getShortName() {

? ? ? ? return shortName;

? ? }

? ? public void setShortName(String shortName) {

? ? ? ? this.shortName = shortName;

? ? }

? ? public String getFullName() {

? ? ? ? return fullName;

? ? }

? ? public void setFullName(String fullName) {

? ? ? ? this.fullName = fullName;

? ? }


? ? @Override

? ? public String toString() {

? ? ? ? return "Name:" + shortName +? ?"\nFullName: " + fullName;

? ? }

}

請注意,我已向 Test.class 添加了一個默認(rèn)構(gòu)造函數(shù),以便 Jackson 可以在從 json 反序列化時創(chuàng)建它。


查看完整回答
反對 回復(fù) 2023-09-20
?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個贊

writeObject 函數(shù)將 Test 的對象圖寫入文件流。在JAVA中用于持久化。如果您想將字段數(shù)據(jù)存儲到文件中,我建議您在類中使用 FileWriter 的專用方法。



查看完整回答
反對 回復(fù) 2023-09-20
?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個贊

ObjectOutputStream不會以可讀格式寫入。您可能想使用FileWriter:


    try (BufferedWriter writer = new BufferedWriter(new FileWriter("test.txt"))) {

        Test t = new Test("Short name of test", "Full name of test");

        writer.write(t.toString());

    } catch (IOException e) {

        e.printStackTrace();

    }


查看完整回答
反對 回復(fù) 2023-09-20
  • 3 回答
  • 0 關(guān)注
  • 152 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號