我正在尝试将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
您正在使用Java序列化将对象写入其自己的二进制格式,而不是文本。如果您需要文本格式,建议您使用JSON,并使用诸如jackson-databind之类的库。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。