我刚开始学习Java编程,对于引用和垃圾回收机制有一定的理解,但我需要一些建议。
如果(例如)我需要从文件中读取内容,并且我使用循环遍历每个文件并从中读取文本,那么我是否应该避免像这样的操作:
(br是BufferedReader类的一个实例)
br = new BufferedReader(new FileReader("filePath"));
基本上,每次循环执行时,br都会引用一个新的BufferedReader对象。这样做是错误的吗?如果是,我该怎么做才能使其更有效率?
非常感谢您提供的任何帮助。
完整代码:
public int kerko(String folderName, String wantedWord) throws IOException{
File file = new File(folderName);
int count = 0;
if(file.isDirectory()){
File[] files = file.listFiles();
for(File f: files){
if(f.isFile() && f.getName().endsWith(".txt")){
br = new BufferedReader(new FileReader(f.getAbsolutePath()));
String line = br.readLine();
while(line != null){
if(line.toLowerCase().contains(wantedWord)){
count++;
}
line = br.readLine();
}
br.close();
}
count += kerko(f.getAbsolutePath(), wantedWord);
}
}
return count;
}