美好的一天,
目前,我们正在使用ByteArrayInputStream来实现可重置的InputStream。我的问题是它消耗了大量内存(它加载了它在内存中表示的所有字节,这与其他一些InputStream实现不同)。
我的问题是,是否有任何较轻的InputStream实现支持mark()&读()?
我也尝试在commons-io中搜索,但我没有看到任何内容。
谢谢, 弗朗兹
答案 0 :(得分:5)
使用BufferedInputStream会为你工作吗?在不知道原始数据来自哪里(例如,为什么你有一个ByteArrayInputStream)开始时,它有点难以回答你的问题。
答案 1 :(得分:5)
我经常在解析数据时使用PushbackInputStream,并且需要返回并重新读取数据。这是一个解释:
http://tutorials.jenkov.com/java-io/pushbackinputstream.html
如果您需要基于字符的流,还有一个PushbackReader。