Java 如果我叫它两次,bufferreader指的是什么

Java 如果我叫它两次,bufferreader指的是什么,java,string,api,while-loop,filereader,Java,String,Api,While Loop,Filereader,我使用while循环逐行搜索文件中的内容,直到找到字符串“MATCH”。 但在另一个函数中,我需要再次使用BufferReader时,它是指文件的结尾还是从文件的最开头开始 Public String method1(String match){ String line; while((line = bufferReader.readLine()) != null){ if (line = match) return line; } } 公共字符串方法2 在实现方法2时,b

我使用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将被重新初始化到文件的开头?

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

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

看起来不对。你可能在找我

if (line.equals(match))

如果语法错误(需要==),请更正。请仔细查看
=
&
=
。不要将Java中的字符串与
==
进行比较,而是使用
Object
类的
equals()
方法。请查看这些帖子&尝试此操作时发生了什么?是否有方法初始化BufferedReader?是否将其重置为从头开始读取?不,您可以尝试这样做:如果我关闭了FileReader,BufferedReader会重新从头开始读取吗?如果您关闭底层FileReader,您将无法使用BufferedReader。如果您想从头开始,为什么不重新创建一个新的缓冲读取器/文件读取器呢?