2013-01-23 115 views
1

可能重複:
How can I make a copy of a BufferedReader?如何複製閱讀器?

我有一個方法要求一個Reader作爲參數:

public List<String> getURI(Reader reader) 

在這種方法中,我需要 「複製」 這個閱讀器爲了擁有兩個TokenStream(每個人都有一個閱讀器,但都指向相同的文件,字符串或其他類型),所以請執行以下操作:

Reader reader2 = reader; 

由於我上面顯示的不起作用,有沒有其他方法可以做到這一點?

謝謝你的幫助。

問候,

Bdloul

+0

這沒有多大意義。你爲什麼需要複製讀者?你是否試圖在底層文件/資源​​中維護兩個不同的指針? – Perception

回答

1

如果內存使用是不是你的關心,讀出的內容爲String對象,並實例基於上面有兩個StringReader實例。

如果您關心內存使用情況,請使用相對較小的緩衝區讀取內容,保存到臨時文件中,並基於此文件實例化讀取器。

也許還有其他更好的方法,我也很好奇。

+0

那麼這是一個非常醜陋的做法,但現在會做。謝謝 – Bdloul