java中的对象存入的到底是什么,比如我新建一个对象,把它存到文件,它的存得是什么。

2024-12-22 14:32:53
推荐回答(2个)
回答1:

文件里能存什么?不就是字符串
你把对象存入文件,实际存入的是对象的toString方法返回的内容即“对象名@一串16进制的地址”,这种内容是无法还原的。
想要还原,就需要重写类的toString方法,例如class A有三个属性:String a;int b;String c;
在类A中重写toString方法 return "{A:[a="+this.a+";b="+this.b+";c="+this.c+"]}";
这样,存入到文件中就很清析了,每一个大括号中的内容就是一个对象,大括号的内容最前面部分是对象的类名,后面的中括号中跟的是类的每个属性的值,各属性之间用分号分隔,读取的时候就可以按这种规则来读取了。但是有一定的局限性,如果属性值中含有特殊字符,如大括号,中括号或者分号,那么就需要对这些符号进行处理,例如使用& # 1 2 3;(去掉中间的空格)代替属性值中的大括号。
另一种方法,使用xml格式存对象,即toString方法返回的是对象的xml表示


A
xxx
......

表示一个A对象
读取的时候,直接使用XML解析就能很方便地解析出了。

回答2:

直接输入备注啊