支持mark()&的轻量级java.io.InputStream实现重启()

时间:2009-02-16 03:47:57

标签: java inputstream reset

美好的一天,

目前,我们正在使用ByteArrayInputStream来实现可重置的InputStream。我的问题是它消耗了大量内存(它加载了它在内存中表示的所有字节,这与其他一些InputStream实现不同)。

我的问题是,是否有任何较轻的InputStream实现支持mark()&读()?

我也尝试在commons-io中搜索,但我没有看到任何内容。

谢谢, 弗朗兹

2 个答案:

答案 0 :(得分:5)

使用BufferedInputStream会为你工作吗?在不知道原始数据来自哪里(例如,为什么你有一个ByteArrayInputStream)开始时,它有点难以回答你的问题。

答案 1 :(得分:5)

我经常在解析数据时使用PushbackInputStream,并且需要返回并重新读取数据。这是一个解释:

http://tutorials.jenkov.com/java-io/pushbackinputstream.html

如果您需要基于字符的流,还有一个PushbackReader。