我正在使用InputStream从网络获取一些数据。我想做一个日志来检查InputStream是否有一些东西。 Log("InputStream = "+ is.read())
和我得到InputStream = 123
但后来当我使用它时,我得到InputStream = -1。我猜是与迭代器的位置有关,但我还没有在API of Java中看到您必须使用reset()
(如当您使用mark()
时)再次读取inputStream。正在读取InputStream
0
A
回答
2
正确 - 一读给顾客。一旦你使用流或迭代器,你不能重新使用它。
1
0
您可以将您包装成PushbackInputStream
。然后,你可以这样做:
int r = in.read();
Log("InputStream = "+ r);
in.unread(r);
和下面的内容将重新读取字符
0
这example使用mark()
和reset()
重新读取输入流,但是它依赖于先验知识合适的readlimit
。根据您的需要,它可能是一个可用的缓冲策略。
相关问题
- 1. 从InputStream读取
- 2. 如何从InputStream正确读取Unicode?
- 3. 从InputStream中读取
- 4. 无法读取InputStream
- 5. InputStream读取故障
- 6. 一次读取inputStream
- 7. 取消读取从InputStream
- 8. Java - 使用InputStream读取行
- 9. 无法读取的InputStream
- 10. InputStream Non Blocking读取操作
- 11. ServerSocket java不读取inputStream?
- 12. HttpServletRequest InputStream读取返回-1
- 13. 将InputStream读取到Arraylist
- 14. Java:并发读取InputStream
- 15. 从InputStream读取字节块
- 16. Android MediaPlayer从InputStream中读取
- 17. expectJ - 从spawn.send()读取InputStream()
- 18. 从Java进程读取InputStream
- 19. 将InputStream读取为UTF-8
- 20. 无法从HttpListenerRequest读取InputStream
- 21. HttpURLConnection读取InputStream两次
- 22. 无法读取的InputStream
- 23. 如何安全取消InputStream读取?
- 24. 的InputStream读者
- 25. InputStream阅读
- 26. 确保从InputStream读取正确的数据
- 27. 使用ProcessBuilder从Java Interactive Process读取InputStream
- 28. Jena:使用inputstream读取模型
- 29. 如何从InputStream中读取字节?
- 30. 从InputStream读取到byte []抛出IndexOutOfBoundsException
如果没有可用的字符,这不会挂起吗? – 2011-03-11 11:51:09