如果我結束客戶端會話EOFException被拋出,但我讀到,這將是正常的 所以我只是開始一個新的線程具有相同的功能,但餐廳=空值; 雖然我寫了一個txt文件EOFException之後變量=空
public void run(){
try {
ois= new ObjectInputStream(clientside.getInputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
oos = new ObjectOutputStream(clientside.getOutputStream());
} catch (IOException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
handlerequest(ois,oos);// exit();
}
我不認爲你需要我的請求處理程序的代碼,所以我不會將其固定,以減少垃圾郵件的代碼。它調用下面的方法是requesthandler
String tempRestaurant=null;
try {
fr = new FileReader("Restaurant.txt");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
fr.read(cbuf);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
tempRestaurant=String.valueOf(cbuf);
System.out.println(tempRestaurant);
try {
oos.writeObject(tempRestaurant);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
fr.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
I'm盼着看你的幫助請寫,如果你需要更多的信息代碼等:) 這是低於該退出客戶端
後所引發的異常java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at prealphaserverpackage.clientsidethreads.setRestaurant(Serverpart.java:164)
at prealphaserverpackage.clientsidethreads.handlerequest(Serverpart.java:205)
at prealphaserverpackage.clientsidethreads.run(Serverpart.java:96)
Exception in thread "Thread-3" java.lang.NullPointerException
at java.io.PrintWriter.write(Unknown Source)
at prealphaserverpackage.clientsidethreads.setRestaurant(Serverpart.java:177)
at prealphaserverpackage.clientsidethreads.handlerequest(Serverpart.java:205)
at prealphaserverpackage.clientsidethreads.run(Serverpart.java:96)
我添加知道你的代碼,我的,但仍然是EOFException類已經拋出後的餐廳空...
一個更具體和更好解釋的問題將更容易幫助:) –
你會得到很多'NullPointerException'你應該嘗試抓住洞塊而不是每個語句 – nachokk
thx那個tipp –