這是我的第一個文件無法解析java.io.EOFException?
public class ObjectStream
{
public static void main(String args[]) throws FileNotFoundException, IOException
{
java.io.File f=new java.io.File("D:Employee.outt") ;
Employee e=new Employee("John");
Employee e1=new Employee("Mary");
Employee e2=new Employee("Christian");
OutputStream os=new java.io.FileOutputStream(f);
java.io.ObjectOutputStream oos= new ObjectOutputStream(os);
oos.writeObject(e);
oos.writeObject(e1);
oos.writeObject(e2);
}
}
這是我的第二個文件
public class Employee implements java.io.Serializable
{
private static int count=100;
private int eid;
private String ename;
public Employee()
{
count++;
this.eid=count;
}
public Employee(String ename)
{
this();
this.ename=ename;
}
public static int getCount() {
return count;
}
public static void setCount(int count) {
Employee.count = count;
}
public int getEid() {
return eid;
}
public void setEid(int eid) {
this.eid = eid;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
}
這是我的第三個文件
public class MainClass
{
public static void main(String args[]) throws FileNotFoundException, IOException, ClassNotFoundException
{
File f=new File("D:Employee.outt");
byte data[]=new byte[(int)f.length()];
InputStream is=new java.io.FileInputStream(f);
java.io.ObjectInputStream ois=new java.io.ObjectInputStream(is);
Object o=ois.readObject();
while(o!=null)
{
Employee e=(Employee)o;
System.out.println(e.getEid());
System.out.println(e.getEname());
o=ois.readObject();
}
ois.close();
is.close();
}
}
我試圖讀取存儲在Employee.outt中的對象通過這第三個文件,但它是讀所有的對象,但在結束扔
線程「main」中的異常java.io.EOFException。
我不知道如何解決它。
您是否已經驗證文件路徑和名稱?它不應該是'D:\\ Employee.outt'嗎? –
@Shishir是的我有它正在閱讀文件,在閱讀文件沒有問題,但在文件結束時給EOF異常。 – TruePS
[EOFException在使用ObjectInputStream讀取文件時可能的重複](http://stackoverflow.com/questions/12684072/eofexception-when-reading-files-with-objectinputstream) –