Java循环遍历二进制文件对象

时间:2014-08-15 07:02:52

标签: java loops binary

我正在编写一个应用程序,它在一端将对象写入二进制文件,另一端从同一个二进制文件中读取这些对象。

写入文件非常有效,当在记事本中打开.dat文件时,很明显对象是按照预期编写的。

但是试图遍历它们并阅读它们似乎有点问题。我正在使用while(true)循环,如下所示,但只返回第一个对象。

可能是因为它没有正确写入文件吗?

写入文件的代码如下:

try {
 outputStream.writeObject(newObj);
 outputStream.close();
 System.out.println("Obj written to file.");
}
catch(IOException e) {
 System.out.println("Error writing to file " + FILE);
 System.exit(0);
}

并从文件中读取:

try {
 inputStream = new ObjectInputStream(new FileInputStream(FILE));
}
catch(IOException e) {
 System.out.println("Error opening file " + FILE + ".");
 System.exit(0);
}
try {
 while (true) {
  obj pet = (obj)inputStream.readObject();
  obj.writeOutput();
 }
}
catch(EOFException e) {
 System.out.println("End of reading from file.");
}
catch(IOException e) {
 System.out.println("End of reading from file.");
}
catch(ClassNotFoundException e) {
 System.out.println("Class not found.");
}

请让我知道如何遍历所有存在的对象。

0 个答案:

没有答案