很抱歉,如果我的问题很愚蠢,但我需要一些帮助。 好吧,问题是我正在尝试学习java并试图制作一个小程序 这将在文本文件中搜索已插入的匹配字符串 参数。我想知道我应该修复哪个程序部分以使方法正常工作,或者至少想知道是否有更好的解决方案。
public String linaerSearch(String filename,String strToArrays){
String[]arrays;
File f = new File("C:\\Users\\toyman\\Documents\\NetBeansProjects\\ToyMaker\\"+filename);
String[]items = (strToArrays.split("\\s*,\\s*"));//converting the string into arrays by comma
//convert the int into string
StringBuilder build = new StringBuilder();
if(f.exists()){ //checks if the file actually exists
try(FileInputStream fis = new FileInputStream(f)){
int con; int incrementor =0;
while((con=fis.read())!=-1){
incrementor++;
char str = (char)con;
String str2 = Character.toString(str);
if(items[ ????? ].equals(str2)){
// I want to check if the string that has been passed in the parameter
// exists in the file. But I got confused at the items[ ???? ].
System.out.println("found you");
}
//System.out.println();
//convert to char and display it
System.out.print(str2);
}
}catch(Exception e){
e.printStackTrace();
}
}else{
System.out.println("The file doesn't exist. Create a new file or use a existing file");
}
return "";
}
答案 0 :(得分:1)
如果要在文本中搜索某些字符串并正确执行,则与Java无关。您正在寻找的是字符串搜索算法。
尝试查看维基百科:http://en.wikipedia.org/wiki/String_searching_algorithm
我建议选择:
它们都是非常好的高效算法,并且都很容易实现。