1. 程式人生 > >Java:物件流讀取文字中的物件丟擲EOFException的解決方法

Java:物件流讀取文字中的物件丟擲EOFException的解決方法

今天,在操作物件流的時候遇到了問題,並最終找到了解決方案,特分享出來,希望能幫到遇到同樣問題的你。
我首先往檔案中存入了5個物件,然後讀取,讀到null就停止。原本以為引用物件是靠null來判斷,誰知
這裡寫圖片描述
物件是讀完了,可是丟擲了一個EOFException,這是什麼鬼?問老師後,老師說這是物件流讀到檔案末尾後丟擲的一個異常,代表著檔案讀完了。好吧,看來這種讀取是沒問題的,有問題的是我的判斷方式。老師說可以用這個異常作為讀完的標誌,就是讀到出現這個異常,代表讀完了。
修改程式碼,如下
這裡寫圖片描述
完美解決,哈哈哈。
當然了,最好不要這樣用,可以先把所有物件存到集合中,再把集合物件用物件流存到檔案中,讀取的時候只需要讀取這個集合物件,然後再遍歷,就可以拿到所有的物件了,而且沒有異常,是不是很完美?

2017/8/3 21:51
Lucifer