我有兩個類必須閱讀InputStream
,第一個只應該解釋流的第一行,但應該從流中刪除第一行,以便B類可以解釋第一行之後的所有內容。當我將InputStream
傳遞給BufferedReader
並執行readLine()
時,這不起作用。閱讀流中的第一行並將其從流中刪除
我知道我可以對流進行讀取,直到遇到\ b但是可能存在更合適的解決方案來完成這項工作?
// Reads the first line from the stream and everything else
public String retrieveFileNameFromTheFirstLineInInputStream(InputStream in) throws IOException {
InputStreamReader isReader = new InputStreamReader(in);
BufferedReader reader = new BufferedReader(isReader);
return reader.readLine();
}
我已經編輯了我的問題,在我的單元測試中出現了錯誤,但確實是讀者讀取所有內容。使用InputStreamReader和InputStream本身的優點是什麼? – 2010-07-29 09:31:53
從我看來,即使InputStreamReader可以緩衝輸入,因此在使用InputStream之後傳遞InputStream將會錯過任何緩衝的第一個InputStreamReader。 – dfrankow 2012-05-18 15:56:48