当前位置: 代码迷 >> java >> 如何从缓冲区读取器的第一行读取
  详细解决方案

如何从缓冲区读取器的第一行读取

热度:31   发布时间:2023-08-02 10:23:25.0

我是java的新手,所以我现在在程序中使用缓冲区读取器,一旦结束循环,循环将中断,但再次在第二个循环中,我再次调用了相同的缓冲区读取器,现在我想从第一行读取内容,所以请帮助我。 现在它读为空,因为它已经到达行尾

while ((s2 = br.readLine())!=null) {
    if (s2.contains(keyword2)) {
        s2 = s2.replaceAll(keyword2, " ");
        Alternate_Account_Number = s2;                    
        System.out.println(Alternate_Account_Number);
        break;
     }

}

String s3;  

String Meter_Number = null;

String keyword3 = arra.get(8);

while ((s3 = br.readLine()) != null) {
    if (s3.contains(keyword3)) {
         s3 = s3.replaceAll("\\D+", " ");
         Meter_Number = s3;
         System.out.println(Meter_Number);
         break;
     }

}

//将标记设置在缓冲区的开头

bufferedReader.mark(0);

//在这里读取缓冲区...

//重置为最后一个标记; 在这种情况下,它是缓冲区的开始

bufferedReader.reset();

您可以使用mark(int readAheadLimit)标记流中的当前位置。

您可以使用close()关闭流并释放与其关联的所有系统资源。 并再次阅读。(按要求进行)

reset()重置流。 如果流已被标记,则尝试将其重新放置在标记处。 如果尚未标记流,则尝试以适合于特定流的某种方式将其重置,例如,将其重新放置到其起点。 并非所有的字符输入流都支持reset()操作,并且某些字符输入流不支持mark()。

  相关解决方案