[英]Java: How can I read Reader multiple times?
如果我調用IOUtils.toString(reader);
它返回正確的字符串值。 第二次調用返回""
。 讀卡器不支持重置
我該如何解決這種情況?
如果Reader
不支持mark()
和reset()
,則不能使它“重新可讀”。 但是您可以使用從您顯示的調用返回的String
多次創建StringReader
,並根據需要讀取它們(或在單個實例上使用mark()
和reset()
以根據需要重新讀取它。 )
Use a java.io.Reader that does support reset, such as CharArrayReader
(see http://download.oracle.com/javase/6/docs/api/java/io/CharArrayReader.html ).
如果設置了標記, BufferedReader還支持有限數量的字符的 reset()。
更一般地說, markSupported方法指示您正在使用的 Reader 的實現是否支持標記/重置(感謝 Bala R 指出這一點的評論)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.