我使用Inputstream从网络获取一些数据。我想创建一个日志来检查InputStream是否有内容。 Log("InputStream = "+ is.read())
我得InputStream = 123
但是后来当我使用它时,我得到InputStream = -1。我想是与迭代器的位置相关的东西,但我没有在API of Java中看到你必须使用reset()
(当你使用mark()
时)再次阅读inputStream。
答案 0 :(得分:2)
正确 - 一个读给客户。使用流或迭代器后,如果不重置它,则无法再次使用它。
答案 1 :(得分:1)
答案 2 :(得分:0)
您可以将流包裹在PushbackInputStream
中。然后你可以这样做:
int r = in.read();
Log("InputStream = "+ r);
in.unread(r);
以下阅读将重新阅读该字符
答案 3 :(得分:0)
此example使用mark()
和reset()
重新读取输入流,但它依赖于先验对合适readlimit
的了解}。根据您的需要,它可能是一个可用的缓冲策略。