包含ÿ符号的文件,同时将文本文件保存为二进制数据

时间:2012-11-05 10:08:53

标签: java

我将.txt文件保存为二进制格式。但是在二进制文件的最后一行,还保存了一个字符,即ÿ

为什么会这样? 我的代码是这样的:

FileOutputStream fout = null;
InputStream fin;
String path="something";
int i = 0;
fout = new FileOutputStream(path);
do {
  i=fin.read();
  fout.write(i);
} while(i != -1);
fout.flush();
fout.close();

1 个答案:

答案 0 :(得分:2)

很明显:你看到的ÿ字符(unicode U + 00FF)是你在退出循环之前写的-1。你不应该在这里使用do ... while(),而是使用更常见的习语:

    while ((i = fin.read()) != -1)
        fout.write(i);