close
當大型專案開發時,有時候需要記錄 class 產生出來的物件,該物件為大型的資料結構,但是用找不到現有的檔案格式紀錄時,就可以考慮使用序列化方式 (Serialization) 記錄,但是該 class 必須實作序列化(implements serializable),如果沒有的話就會出現下列的錯誤:
Exception in thread "main" java.io.NotSerializableException: Test.person at java.io.ObjectOutputStream.writeObject0(Unknown Source) at java.io.ObjectOutputStream.writeObject(Unknown Source) at Test.SerializationSample.main(SerializationSample.java:19) |
舉例來說,下列物件為記錄個人身高與體重,為了記錄此資料結構,就實作了java序列化:
輸出結果
Height: 176.0 Weight: 60.0
Height: 176.0 Weight: 60.0
Read Ser: Height: 176.0 Weight: 60.0
上述程式碼中,顯示出,序列化需要使用 OutputStream 來記錄,並且副檔名可以不必要,或者隨意打,但是習慣上都會把副檔名改成 .ser。
讀檔也是用 InputStream,而習慣上一行就是一個 object。
文章標籤
全站熱搜
留言列表