我是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;
}
}
答案 0 :(得分:1)
//在缓冲区的开始处设置标记
bufferedReader.mark(0);
//在这里读取缓冲区...
//重设为最后一个标记;在这种情况下,它是缓冲区的开始
bufferedReader.reset();
答案 1 :(得分:0)
您可以使用 标记(int readAheadLimit) 标记流中的当前位置。
您可以使用 close() 关闭流并释放与其关联的所有系统资源。并再次阅读。(请按照要求进行操作
重置() 重置流。如果流已被标记,则尝试将其重新放置在标记处。如果尚未标记流,则尝试以适合于特定流的某种方式将其重置,例如,将其重新放置到其起点。并非所有的字符输入流都支持reset()操作,有些字符支持流不支持mark()。