6 java network-programming tcp
我打算使用markSupported功能检查第一个字节以检查格式然后重置它,请告诉我哪个流应该用于java中基于tcp的通信.对于像datainputstream这样的大多数流都不提供此功能.请给我一些使用标记和重置的指示.
你可以使用你BufferedInputStream周围的任何其他流.只要在标记后没有尝试超出缓冲区大小,就可以保证支持标记/重置.
看看PushbackInputStream,它看起来像是为了你想要的而设计的.
它将包装一个现有的输入流并允许您读取一个字节,然后将其放回原处.来自Javadoc:
PushbackInputStream将功能添加到另一个输入流,即"推回"或"未读"一个字节的能力.这在一个代码片段方便读取由特定字节值分隔的无限数量的数据字节的情况下很有用.在读取终止字节之后,代码片段可以"读取"它,以便输入流上的下一个读取操作将重新读取被推回的字节.例如,表示构成标识符的字符的字节可以由表示操作符的字节终止; 一个方法,其作用是只读取一个标识符,它可以读取,直到它看到操作符,然后将操作符推回以重新读取.
| 归档时间: |
|
| 查看次数: |
5770 次 |
| 最近记录: |