在項目電子商城中遇到了一個java.io.EOFException 異常。
(這個異常只是在這個項目中遇到了,這是我的解決方法,不代表遇到這個異常的所有情況都適用這個方法。)
public void FrmFile(){ File myfile = new File("User.txt"); try{ FileInPutStream fis = new FileInPutStream(myfile); ObjectInPutStream ois = new ObjectInPutSrtream(fis); user.List = ois.readObject(); //異常是在這步提出的。提出異常試音為當時User.txt剛剛建立,內容為空,ois讀不到東西所以報出異常 fis.close(); ois.close(); } catch(Exception e){ e.printStackTrace; } }
解決方法有兩個
1、暫時先不調用FromFile這個方法,因為文件里也沒有東西,調不調用不影響,等把內容存都文件后,在調用這個方法,就不會報異常了。
2、加一個判斷語句
public void FrmFile(){ File myfile = new File("User.txt"); try{ FileInPutStream fis = new FileInPutStream(myfile); if(myfile.length() == 0){ //如果是空的話就不要讀了 fis.close(); return ; }else{ //不空的話就繼續 ObjectInPutStream ois = new ObjectInPutSrtream(fis); user.List = ois.readObject(); ois.close(); fis.close(); } } catch(Exception e){ e.printStackTrace; } }