2015-06-11 48 views
0

我正在從oracle docs學習java。BufferedInputStream的available()行爲不如預期

我瞭解BufferedInputStreamavailable();方法現在

我把示例代碼,制定了下面的代碼

​​

當我運行這段代碼,

它顯示下面的輸出:

Available bytes = 2 
The character read = V 
Available bytes = 1 
The character read = A 

但是在我的tes t.txt文件內容是SELVA。

任何人都可以幫助我解決這個問題嗎?

+2

不要使用'用()'它不會做你認爲有任何理由你需要它。 – Kayaman

+0

我在io包中的BufferInputStream類中包含了一個一個一個地練習..我可以知道..爲什麼不使用available();方法..那麼爲什麼它包含在oracle文檔中..謝謝.. – pcs

+0

僅僅因爲一個類或方法的存在並不意味着它是一個好主意。搜索所以你會發現很多問題,因爲人們錯誤地使用'available()'。另外,你打算一個接一個地嘗試所有類中的所有方法嗎?我懷疑這是學習編程的好方法。 – Kayaman

回答

1

我用你的代碼在我的Eclipse和輸出似乎是罰款:

Available bytes = 5 
The character read = s 
Available bytes = 4 
The character read = e 
Available bytes = 3 
The character read = l 
Available bytes = 2 
The character read = v 
Available bytes = 1 
The character read = a