0

我将 .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();
4

1 回答 1

2

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

    while ((i = fin.read()) != -1)
        fout.write(i);
于 2012-11-05T10:46:31.830 回答