久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

utf-8 - Java 將int型數據用FileWriter寫入文件,文件數據錯誤?

瀏覽:141日期:2023-12-17 15:03:04

問題描述

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

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

為了后續處理方便,數據文件中各個數據段使用 4 個 (int)-1 做為分割(寫在每個數據段的前面)。這樣邏輯上來講,這個文件的前 16 個字節應該都是 ff 。但實際上的數據文件是這樣的:

utf-8 - Java 將int型數據用FileWriter寫入文件,文件數據錯誤?

看見熟悉的錕斤拷,像是 UTF8 編碼錯誤,但是又不是很了解,如果用 write 寫入的 int 為什么會有編碼錯誤,又不是將 String 寫入文件。

所以請教一下大家,這種情況應該怎么辦(純 int 數據文件)?還有什么方法將數據讀出來嗎?

先謝過了!

問題解答

回答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)));

標簽: java
主站蜘蛛池模板: 萍乡市| 丰县| 咸宁市| 恩平市| 泾源县| 汝州市| 宣城市| 天峻县| 榕江县| 宜章县| 舞钢市| 宜良县| 湖州市| 连平县| 含山县| 左贡县| 河西区| 驻马店市| 靖州| 顺昌县| 南昌市| 黄石市| 襄樊市| 洪湖市| 湖州市| 南昌县| 怀来县| 扎兰屯市| 慈溪市| 托克托县| 汾阳市| 清徐县| 米脂县| 灵武市| 周宁县| 顺义区| 平江县| 二连浩特市| 西林县| 涿州市| 百色市|