当前位置: 技术问答>java相关
第一个给予满意答复的给(40)分
来源: 互联网 发布时间:2015-01-26
本文导语: 我现在碰到一个问题,我用对象序列化对数据进行文件保存,并且需要一定时间添加一次(因此必须是追加)。 void todisk() { try { ObjectOutputStream out = new ObjectOutputStream( new Fil...
我现在碰到一个问题,我用对象序列化对数据进行文件保存,并且需要一定时间添加一次(因此必须是追加)。
void todisk() {
try {
ObjectOutputStream out =
new ObjectOutputStream(
new FileOutputStream("data.out",true));
out.writeObject(this);
out.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
Data fromdisk() {
Data temp = new Data();
Data temp1 = new Data();
try {
ObjectInputStream in =
new ObjectInputStream(
new FileInputStream("data.out"));
temp1 = (Data)in.readObject();
JOptionPane.showMessageDialog(null,"ok","ok",JOptionPane.INFORMATION_MESSAGE);
temp = (Data)in.readObject();
in.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return temp;
}
}
这两个函数,一个是serialize,另一个是deserialize,请帮我看看为什么读第二个值的时候出现eofexception错误啊。怎么样可以花最小代价解决这个问题呢??
我不知道为什么,我保存了两个对象,但是读了一个再读一个就出错了,请大家解决,最好有详细代码。谢谢
void todisk() {
try {
ObjectOutputStream out =
new ObjectOutputStream(
new FileOutputStream("data.out",true));
out.writeObject(this);
out.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
Data fromdisk() {
Data temp = new Data();
Data temp1 = new Data();
try {
ObjectInputStream in =
new ObjectInputStream(
new FileInputStream("data.out"));
temp1 = (Data)in.readObject();
JOptionPane.showMessageDialog(null,"ok","ok",JOptionPane.INFORMATION_MESSAGE);
temp = (Data)in.readObject();
in.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return temp;
}
}
这两个函数,一个是serialize,另一个是deserialize,请帮我看看为什么读第二个值的时候出现eofexception错误啊。怎么样可以花最小代价解决这个问题呢??
我不知道为什么,我保存了两个对象,但是读了一个再读一个就出错了,请大家解决,最好有详细代码。谢谢
|
好吧,看来我每天都要到这里来逛逛咯。
主要是最近工作实在太忙,不想分心。
(主要是偶很菜拉,如果你问的问题偶回答不上来,偶岂不是很没面子? :) )
主要是最近工作实在太忙,不想分心。
(主要是偶很菜拉,如果你问的问题偶回答不上来,偶岂不是很没面子? :) )