Q
java輸入流
2
A
回答
1
,JavaDoc會不會告訴你在返回段 -
an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking or 0 when it reaches the end of the input stream.
+0
我的不好。它不會阻止非阻塞IO使用嗎? – fulmicoton
1
從理論上講,如果到達流的末尾,沒有要讀取的字節,可用返回0.但要小心。並非所有的流都提供了這種方法的真正實現。 InputStream本身始終返回0.
如果您需要非阻塞功能,即從流中讀取而不被讀取時阻塞,請改爲使用NIO。
0
從Java 7 documentation:
「可以從該輸入流中讀取(或跳過)的字節數的不阻塞或0,當它到達輸入流的結束的估計」。
所以,我會說它在這種情況下應該返回0。這對我來說似乎也是最直觀的行爲。
0
返回可以從此輸入流讀取(或跳過)的字節數的估計值,而不會因爲此輸入流的下一次調用方法而被阻止。下一次調用可能是同一個線程或另一個線程。單個讀取或跳過這麼多字節不會被阻塞,但可以讀取或跳過更少的字節。
The available method for class InputStream always returns 0.
http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html#available%28%29
2
相關問題
- 1. java輸入輸出流
- 2. Java EE輸入/輸出流
- 3. Java ProcessBuilder:輸入/輸出流
- 4. Java:寫入Scala輸出流
- 5. 刷新輸入流:java
- 6. 使用Java URL輸入流
- 7. Java流鍵盤輸入
- 8. Java讀取JSON輸入流
- 9. 無效的流頭:47455420 - Java輸入流
- 10. Java/Android - 從輸入流讀取後寫入輸出流
- 11. 帶輸入/輸出流的Java進程
- 12. Java的自定義輸入輸出流
- 13. Java的輸入輸出重定向流
- 14. 如何清除java中的輸入流
- 15. Java HttpConnection/HttpsConnection輸入/錯誤流
- 16. Java輸入流如何關閉?
- 17. 在java中讀取輸入流
- 18. java - 使用servlet下載輸入流
- 19. 在java中輸入流結束
- 20. Java緩衝輸入流不能讀取
- 21. Java輸入流「阻塞」和多線程
- 22. Java輸入流追加而不刪除
- 23. Java - 從輸入流讀取時卡住
- 24. Java輸入流緩衝區對象?
- 25. 從輸入流中讀取html java
- 26. C++輸入流
- 27. 插入到php輸入流(php://輸入)
- 28. JBoss輸入/輸出流
- 29. 輸入流 - 關閉
- 30. Python:C++ - 像流輸入
那麼,文檔確實說這個方法應該被子類重寫,所以行爲依賴於實現,並且可能對不同類型的流有所不同。 – pablochan