2013-01-23 67 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