无法从文件夹中读取“.dat”文件

时间:2014-07-30 08:44:05

标签: java file

我正在尝试阅读多个' .dat'在特定文件夹中逐个文件。下面是我的代码

public void viewEngingeer() throws Exception
    {
        File f = new File("Users");
        ArrayList<String> usersList = new ArrayList<String>(Arrays.asList(f.list()));

    int index=0;
    while (index < usersList.size()) { 
    User newUser=new User();
    FileInputStream fis = new FileInputStream("Users/"+usersList.get(index));
    ObjectInputStream ois =  new ObjectInputStream(fis);
    newUser = (User) ois.readObject();
    ois.close();
    System.out.println(newUser.getUsername());     
    index++;
    }

 }

但是我在运行时遇到错误


Exception in thread "main" java.io.InvalidClassException: oodj.User; local class incompatible: stream classdesc serialVersionUID = -7994693857260427394, local class serialVersionUID = 4996613179002222501

任何想法?谢谢

1 个答案:

答案 0 :(得分:1)

反序列化是不可能的。 Java无法还原对象。你需要添加这样的东西:

 static final long serialVersionUID = 42L; 

在您的班级用户中,并使用户实施可序列化

在此处查看更多内容:Serializabe