java BufferReader
有一个方法 readLine
读取到 '\n'
或 '\r'
是读取然后返回行字符串。示例:
InputStreamReader isr = new InputStreamReader(socket.getInputStream());
BufferReader br =new BufferReader(isr);
String line = null;
while ((line = br.readLine()) != null) {
// Do something
}
我想要一个读取完全像 BufferReader
的自定义缓冲区,但是当它匹配 '\n'
时不返回行,它应该返回字符串直到它读取一个模式10=???\u0001
。
它基本上是一条始终以 10=???\u0001
结尾的修复消息,其中 ?
是数字,\u0001
是一个角色。
最佳答案
您可能对使用 Scanner
感兴趣使用自定义分隔符(使用 useDelimiter
设置)。
你真的不应该覆盖一个名为 readLine
的方法来做除了读取行之外的任何事情(由 \r\n
, \n\r
或 \n
取决于您的操作系统)。这是违反直觉的,可能会让您自己或以后的其他人感到困惑。
关于java - 自定义 BufferReader,它读取并返回字符串直到满足模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8996041/