2017-05-04 88 views

回答

2

基本上是因爲它毫無意義。查看documentation

如果b的長度爲零,則不讀取字節並返回0;否則,嘗試讀取至少一個字節。如果由於流位於文件末尾而沒有可用字節,則返回值-1;否則,至少讀取一個字節並存儲到b中。

所以,除非你在空緩衝區正在傳遞(這基本上是在幾乎所有情況下的錯誤;我個人希望該方法將拋出在這種情況下的例外),返回值將永遠是0 。它會阻塞至少一個字節被讀取(在這種情況下返回值將是1或更多),或者到達流的末尾(在這種情況下返回值將是-1)。

+0

不應該將最後一位讀爲「在這種情況下返回值是-1」? – VGR

+0

@VGR:哎呀,是的 - 修正:) –