該問題類似於以下兩個問題。什麼時候FileInputStream.read()阻塞?
但我還不能完全理解。
到目前爲止,我認爲在下面的代碼中讀取()方法會因爲空文件'test.txt'而阻塞。
FileInputStream fis = new FileInputStream("c:/test.txt");
System.out.println(fis.read());
System.out.println("to the end");
其實它會打印-1,我想知道爲什麼。
javadoc說如果還沒有輸入可用,此方法會阻止。
'沒有輸入可用'是什麼意思?
謝謝。
'沒有輸入可用'是什麼意思?謝謝。 – 2013-03-05 08:17:52
當從例如一個管道而不是一個文件,直到另一個「邊」寫入管道 - 我們才能使用 - 在這種情況下,.read()會阻塞。 – 2013-03-05 08:23:59
您能否給我一個關於如何從管道讀取的示例?謝謝,因爲我無法在FileInputstream的apis中找到相關函數。 – 2013-03-05 08:41:41