我是想用序列化对文件读写的,之前的保存写入文件都没问题 但是删除这就不行 帮忙看下把
这是删除代码
public void delete(User user){
try {
ods = new ObjectOutputStream(new FileOutputStream("config/telephone.txt"));
lstUsers=this.getUsers();//执行到这行事跳转到下面
List<User> tmp = new ArrayList<User>();
for( int i= 0;i < lstUsers.size();i++){
if(lstUsers.get(i).getNo()!=user.getNo()){
tmp.add(lstUsers.get(i)) ;
}
}
ods.writeObject(tmp);                 
ods.flush();
ods.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public  List<User> getUsers(){
try {
  ois = new ObjectInputStream(new FileInputStream("config/telephone.txt"));
  lstUsers = (ArrayList<User>)ois.readObject();//在这里就停止了【!!】
  ois.close();
   }
   catch(Exception e){
   intRecord();//发生异常重新创建
    } 
//   catch(FileNotFoundException e){
//    intRecord();
//   } 
//    catch (ClassNotFoundException e) {
// e.printStackTrace();
//   } 
// catch (IOException e) {
// e.printStackTrace();
//   }
 return lstUsers;
   }在【!!】位置,我之前调试到这就说SOURCE NOT FOUND 可是我之前保存对象时也用了这个函数 但没有任何问题 求助!

解决方案 »

  1.   

    config/telephone.txt的格式是什么?ois.readObject();这样可以直接读出User格式的类实例么?还真没这么用过,楼主分享一下
      

  2.   

    to qingyuan18跟文件格式没有关系,它使用的是java内置的序列化 writer 和 reader,会将java object 序列化写入文件,和从文件读入java序列化化数据,解序列化为java对象。文件存放的是java序列化数据,对象序列化数据同样支持自定义序列化操作,但首先object必须继承序列化接口。感觉没什么东西,source 找不到? 估计不是什么大问题。