java fileinputstream可用方法返回始终为零

标签 java fileinputstream

我有以下代码:

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/

相关文章:

java - 如何有效地将 TreeSet 的一部分保存到文件中?并重新加载它? (Java问题)

Java可见接口(interface)无法实现

java - 我可以在打印机上使用 FIleOutputStream 打印吗

java - 使用 Java InputStream 复制文件时如何创建不存在的文件夹/子目录?

java - 如何保存和加载Android图像

java - 如何解析具有相同名称但位于不同父级下的两个节点?

java - 什么可能导致程序无法读取整个文件?

android - 使用 Android Studio 将文件转换为字符串,然后转换为 Base64 Fromate

java - Android内部存储读取文件

java - 排除 PITest 中的某些代码行