我有以下代码:
fis = new FileInputStream(new File(st[0]));
br = new BufferedReader(new InputStreamReader(fis));
while(fis.available()!=-1)
{
System.out.println(br.readLine());
System.out.println(fis.available());
}
第一个 println 语句打印整个文件,但与第二个 println 语句一起总是显示 0。为什么当有实际内容要读取时,它显示 0 ? 我应该把什么作为结束条件放在这里。
最佳答案
你想在 readLine() 返回 null 时停止,如下所示:
String sCurrentLine;
br = new BufferedReader(new FileReader("C:\\testing.txt"));
while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine);
}
关于java fileinputstream可用方法返回始终为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13098685/