utf-8 - Java 將int型資料用FileWriter寫入文件,文件資料錯誤?
phpcn_u1582
phpcn_u1582 2017-05-17 09:58:09
0
1
603

(我知道我題目寫得很含糊,因為實在不知道怎麼描述了)

事情的原因是,用 Java 開發了一個 Android APP,其中有一個功能是用 FileWriter 將 int 型資料寫入一個資料檔。這個資料檔案是用 File 的 createNewFile(String filename) 方法建立的,寫入檔案的資料都是 int 型。 (FileWriter 的 write(int) 方法)

為了後續處理方便,資料檔案中各個資料段使用 4 個 (int)-1 做為分割(寫在每個資料段的前面)。這樣邏輯上來講,這個檔案的前 16 個位元組應該都是 ff 。但實際上的資料檔是這樣的:

#看見熟悉的錟斤拷,像是 UTF8 編碼錯誤,但是又不是很了解,如果用 write 寫入的 int 為什麼會有編碼錯誤,又不是將 String 寫入檔案。

所以請教一下大家,這種情況該怎麼辦(純 int 資料檔)?還有什麼方法可以將數據唸出來嗎?

先謝過了!

phpcn_u1582
phpcn_u1582

全部回覆(1)
仅有的幸福

FileWrite的Write(int)方法 無法寫入純int檔案的 因為這裡的int其實就是char字符,當你的int資料在unicode碼表裡找不到對應的char值時就會出現亂碼的。你可以提供一個toString方法轉成字串
想寫入真正的int資料

       

     File file = new  File("b.txt");
FileWriter fw = new FileWriter(file);
fw.write((Integer.toString(87)));
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板