我正在学习文件输入输出,我有一个问题。 a.txt 有一些文字,当它读取和打印世界时有'?'标记最后..如何删除它。
import java.io.*;
class fRead{
public static void main(String args[])throws IOException
{
FileInputStream fin=new FileInputStream("a.txt");
int i=0;
while(i!=-1){
i=fin.read();
System.out.print((char)i);
}
fin.close();
}
}
CMD的结果: -
G:\ file> javac fRead.java
G:\ file> java fRead
VINAYAK计算机学院?
***'?'***最后不在文件末尾。
答案 0 :(得分:2)
出现此问题是因为您将-1
转换为read()
后将其转换为char
,即使在-1
为while ((i = fin.read()) != -1) {
System.out.print((char)i);
}
时循环应停止而不打印任何内容返回。
您可以通过将分配与负片检查相结合来修复它:
action=>'ROUTE_NAME'