【问题标题】:Custom BufferReader which reads and returns the string till a pattern is met自定义 BufferReader 读取并返回字符串直到满足模式
【发布时间】:2012-02-18 05:50:17
【问题描述】:

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 是一个字符。

【问题讨论】:

    标签: java sockets inputstream bufferedreader


    【解决方案1】:

    您可能有兴趣使用带有自定义分隔符的Scanner(使用useDelimiter 设置)。

    您真的不应该重写名为 readLine 的方法来执行读取行以外的任何操作(根据您的操作系统,由 \r\n\n\r\n 分隔)。这是反直觉的,可能会让您自己或以后的其他人感到困惑。

    【讨论】:

    • 并不意味着覆盖 readLine(),很抱歉造成混淆。扫描仪足够好。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 2015-08-07
    • 2021-08-24
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多