已采納回答 / zjxjwxk
我這里用你的沒有一點問題誒? 是不是main函數有問題你把序列、反序列封裝成函數,那我的main函數是這樣的:ObjectOutputStream oos = new ObjectOutputStream(? ? ? ? ? ? ? ? new FileOutputStream("demo/obj2.dat")? ? ? ? );? ? ? ? Bar2 bar2 = new Bar2();? ? ? ? oos.writeObject(bar2);? ? ? ? oos.flush();? ? ? ? ...
2018-02-24
最贊回答 / kk求知者
因為你的編碼方式是默認的編碼方式utf-16be 而在寫入“中” 這個漢字是 轉換為字節數組是 采用的是GBK編碼方式??? byte[] gbk=s.getBytes("gbk");? 所以在文件中 存在2個GBK編碼方式的字節。而在后面的讀時 用的是默認的編碼方式將文件里的提取出所有的。而又2個不是這種了類型的 則會出現亂碼. 個人理解
2018-02-10
已采納回答 / qq_向前走唄_0
java中指針的概念是隱式的,指向文件中的某個字節,當打開文件時候,指針指在文件開頭,pointer=0,每一次向文件中output字節,指針都會移動,Xxx.seek(0); 是讓指針回到文件頭部。
2018-02-09
最贊回答 / 噩噩噩噩噩噩噩噩Plus
那是因為你沒有在類中創建toString()函數public String toString() { return id+" "+name+" "+age; }
2018-02-05