2

再会,

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

那么我的问题是,有没有支持 mark() 和 read() 的 InputStream 更轻量级的实现?

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

谢谢,弗兰兹

4

2 回答 2

5

使用 BufferedInputStream 对你有用吗?在不知道原始数据来自哪里(例如,为什么你有一个 ByteArrayInputStream)的情况下开始回答你的问题有点困难。

于 2009-02-16T04:01:25.547 回答
5

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

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

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

于 2009-12-10T18:45:54.853 回答