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

时间:2019-02-14 09:25:20

标签: java

我是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;
     }

}

2 个答案:

答案 0 :(得分:1)

//在缓冲区的开始处设置标记

bufferedReader.mark(0);

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

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

bufferedReader.reset();

Reset buffer with BufferedReader in Java?

答案 1 :(得分:0)

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

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

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

Read More