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
是一个字符。
答案 0 :(得分:3)
您可能有兴趣将Scanner
与自定义分隔符一起使用(使用useDelimiter
设置)。
您真的不应该覆盖名为readLine
的方法来执行除读取行之外的任何操作(由\r\n
,\n\r
或\n
根据您的操作系统分隔)。这是违反直觉的,可能会让你自己或其他人在后来感到困惑。