轉自: http://www.cnblogs.com/elleniou/archive/2012/08/29/2662353.htmlhtml
.java.io.StreamCorruptedException: invalid type code: AC解決辦法java
問題描述:code
在向一個文件寫入可序列化對象時,每次只想向文件的末尾添加一個可序列化的對象,因而使用了FileOutputStream(文件名,true)間接的構建了ObjectOutputStream流對象,在向外讀數據的時候第一次運行的時候不會報錯,在第二次就會報java.io.StreamCorruptedException: invalid type code: AC錯誤。htm
緣由:對象
在一個文件都有一個文件的頭部和文件體。因爲對屢次使用FileOutputStream(文件名,true)構建的ObjectOutputStream對象向同一個文件寫數據,在每次些數據的時候他都會向這個文件末尾先寫入header在寫入你要寫的對象數據,在讀取的時候遇到這個在文件體中的header就會報錯。致使讀出時,出現streamcorrput異常。blog
解決辦法:因此這裏要判斷是否是第一次寫文件,如果則寫入頭部,不然不寫入。get
代碼示例:io