我已经将一个对象写入了一个java文件,I/o在该文件中获得了垃圾数据
我用java创建了一个文件,文件中写入了对象 文件有文本扩展名,但有垃圾字符。任何关于这方面的提示、计划或教程,请提供帮助
有一个包含Bean文件的包
package Packageit;
import java.io.*;
public class Object1 implements Serializable
{
private String name;
private String Account;
private String City;
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
public void setAccount(String Account)
{
this.Account=Account;
}
public String getAccount()
{
return Account;
}
public void setCity(String city)
{
this.City=City;
}
public String getCity()
{
return City;
}
}
这个项目的使命就在这里
import java.io.*;
import Packageit.*;
public class FilterFlush {
public static void main (String args[])throws IOException
{ Object1 obj = new Object1();
obj.setName("Girish");
obj.setAccount("3456");
obj.setCity("Ahmedabad");
FileOutputStream f =new FileOutputStream("Tmp.txt");
ObjectOutputStream ob =new ObjectOutputStream (f);
ob.writeObject(obj);
ob.flush();
}
}
我在输出文件中得到了一个垃圾数据,比如
Ԁ牳ᄀ慐正条楥扏敪瑣쀱늄㶔楚˱̀L䄇捣畯瑮t䰒慪慶氯湡⽧瑓楲杮䰻Ѐ楃祴q~䰁Ѐ慮敭q~码瑰Ѐ㐳㘵瑰楇楲桳
请帮助解决这些垃圾数据
提前谢谢
# 1 楼答案
问题是
ObjectOutputStream
使用二进制编码来写入对象。如果想要对象的可读版本,可以使用XMLEncoder
。这将为对象中的字段提供xml表示如果想要一个真正可读的对象版本,那么应该重写toString()方法,并将属性组合成一个有意义的字符串