utf-8 - Java 将int型数据用FileWriter写入文件,文件数据错误?
phpcn_u1582
phpcn_u1582 2017-05-17 09:58:09
0
1
592

(我知道我题目写得很含糊,因为实在不知道怎么描述了)

事情的起因是,用 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)));
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板