我需要创建一个访问服务器文件的内部搜索引擎,并在每个文本文件中查找客户端需要的关键字/短语。但是,到目前为止我使用的代码我一直收到这个错误:
SearchFunction.java:28:错误:找不到符号
} while (fileName == true); ^ symbol: variable fileName location: class SearchFunction
任何帮助都会很棒!谢谢!
public class SearchFunction{
public static void main (String[] args){
try{
do {
int count = 1;
String fileName = "Buyerserver" + count + "Log.txt";
BufferedReader br = new BufferedReader(new FileReader (fileName));
int linecount = 0;
String line;
System.out.println("Searching for " + args[0] + " in file...");
while ((line = br.readLine()) != null)
{
linecount++;
int indexfound = line.indexOf(args[0]);
if (indexfound > -1){
System.out.println("Word was found at positon " + indexfound + " on line " + linecount);
}
}
br.close();
count++;
} while (fileName == true);
}
catch (IOException e){
System.out.println("IO Error Occurred: " + e.toString());
}
}
}
答案 0 :(得分:2)
String fileName
在循环内声明,但是你想在循环条件下测试它,它不可见。
根据经验,变量在声明它们之后的块中是可见的。
例如,
if (x=0) // doesn't compile, x is not in scope here...
{
x=1; // doesn't compile, x is not in scope here...
int x;
x=2; // ok
}
也就是说,编写自己的搜索引擎的想法,特别是作为初学者,是非常值得怀疑的。
顺便说一下,fileName永远不会是true
,所以你也必须修复while条件。