开发者社区> 问答> 正文

如何将导出的Java对象的格式更改为文件?

我正在尝试将Java对象导出到txt文件中,但是该文件中的输出格式不正确,并且包含不必要的数据。谁可以告诉我哪里错了。这是代码的简单示例:

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(); 这就是我在文件中得到的:

’ sr &com.testing.project.Evaluation.model.Test L fullNamet Ljava/lang/String;L shortNameq ~ xpt Full name of testt Short name of test

展开
收起
小六码奴 2019-10-03 19:33:58 957 0
1 条回答
写回答
取消 提交回答
  • 您正在使用Java序列化将对象写入其自己的二进制格式,而不是文本。如果您需要文本格式,建议您使用JSON,并使用诸如jackson-databind之类的库。

    2019-10-09 16:22:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载