这个问题类似于以下两个问题:
但我仍然不能完全理解它。
目前,我认为以下代码中的read()方法将由于空文件“test.txt”而被阻塞。
事实上它会打印出-1,我想知道为什么。
Java文档中写到:“如果没有输入可用,此方法将被阻塞。”
“没有可用的输入”是什么意思?
谢谢。
目前,我认为以下代码中的read()方法将由于空文件“test.txt”而被阻塞。
FileInputStream fis = new FileInputStream("c:/test.txt");
System.out.println(fis.read());
System.out.println("to the end");
事实上它会打印出-1,我想知道为什么。
Java文档中写到:“如果没有输入可用,此方法将被阻塞。”
“没有可用的输入”是什么意思?
谢谢。
.read()
将会阻塞。 - Anders R. Bystrupmkfifo /tmp/mynamedpipe
那样简单,然后像处理常规文件一样打开/tmp/mynamedpipe
。使用echo "whatever" > /tmp/mynamedpipe
可以通过管道传递数据。 - Anders R. Bystrupread()
在一个空文件上阻塞。我现在已经在答案中澄清了这一点。 - Anders R. Bystrup