lia*_* xu 5 java inputstream blocking fileinputstream java-io
问题类似于以下两个问题.
但我仍然无法完全理解它.
到目前为止,我认为以下代码中的read()方法将因空文件'test.txt'而阻塞.
FileInputStream fis = new FileInputStream("c:/test.txt");
System.out.println(fis.read());
System.out.println("to the end");
Run Code Online (Sandbox Code Playgroud)
实际上它会打印-1,我想知道为什么.
javadoc说如果还没有输入,则此方法会阻塞.
什么" 没有输入可用 "是什么意思?
谢谢.
您可以在JavaDoc for .read()中找到您的问题的答案:
如果尚未提供输入,此方法将阻止.
和
返回:数据的下一个字节,如果到达文件末尾,则返回-1.
因此,一个空文件将立即-1(而不是read()阻止)为您
该...尚无输入可用...状况可能会发生如.当一个人要从命名管道而不是普通文件中读取时,管道的另一端还没有写入任何东西.
干杯,
| 归档时间: |
|
| 查看次数: |
3319 次 |
| 最近记录: |