Java:對象流讀取文本中的對象拋出EOFException的解決方法

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

2017/8/3 21:51
Lucifer

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章