【问题标题】:Where will bufferreader refer to if I call it twice如果我调用它两次,bufferreader 指的是哪里
【发布时间】:2014-10-29 15:14:27
【问题描述】:

我使用 while 循环逐行搜索文件中的内容,直到找到字符串“MATCH”。 但是当在另一个函数中我需要再次使用 BufferReader 时,它是指文件的结尾还是从文件的最开头开始?

Public String method1(String match){
  String line;
  while((line = bufferReader.readLine()) != null){
  if (line = match)
  return line;
  }
}

公共字符串方法2.......

实现方法2时,bufferReader会指向line = match的地方吗?或者bufferReader会被重新初始化到文件的开头?

【问题讨论】:

标签: java string api while-loop filereader


【解决方案1】:

BufferedReader 的位置在所有使用它的地方“共享”。如果您读取行直到到达"MATCH",并在另一种方法中使用 BufferedReader,它将从该行继续。

还有,

if (line = match)

看起来不对。你可能在追求

if (line.equals(match))

【讨论】:

  • 有没有初始化BufferedReader的方法?
  • 要将其重新设置为从头开始读取?不,你可以试试这个:stackoverflow.com/questions/5034311/…
  • 如果我关闭了FileReader,BufferedReader会重新从头开始读取吗?
  • 如果您关闭底层 FileReader,您将无法使用 BufferedReader。如果您想从头开始,为什么不简单地重新创建一个新的缓冲阅读器/文件阅读器?
猜你喜欢
  • 2014-03-23
  • 2012-02-06
  • 2019-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-19
  • 2011-04-06
  • 1970-01-01
相关资源
最近更新 更多