我将.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();
答案 0 :(得分:2)
很明显:你看到的ÿ字符(unicode U + 00FF)是你在退出循环之前写的-1。你不应该在这里使用do ... while()
,而是使用更常见的习语:
while ((i = fin.read()) != -1)
fout.write(i);