Java 如果我叫它两次,bufferreader指的是什么
我使用while循环逐行搜索文件中的内容,直到找到字符串“MATCH”。 但在另一个函数中,我需要再次使用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
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。如果您想从头开始,为什么不重新创建一个新的缓冲读取器/文件读取器呢?