源代码GitHub我正在工作文件处理库项目。将图书数据保存在文件名NameList.txt中
准备好整个文件并保存到ArrayList中,然后尝试搜索书名“ Head First jQuery”但可以找到。请帮我如何从文本文件的Arraylist中找到所需的文本。
注意当我将txt文件的文本移动到arraylist时,其中BookID,名称和那里发布名称的整个行副本,但只想搜索书名
public static void main(String[] args) throws IOException {
Path Source=Paths.get("NameList.txt");
Charset charset=Charset.forName("US-ASCII");
ArrayList<String> lines=new ArrayList<String>();
try (BufferedReader reader=Files.newBufferedReader(Source,charset))
{
String str=null;
while((str=reader.readLine())!=null){
System.out.println(str);
lines.add(str);
}
} catch (Exception e) {
e.getMessage();
}
Iterator<String> iterator =lines.iterator();
for(int i=0;i<lines.size();i++){
if(lines.get(i)=="Head First jQuery"){
System.out.println("find");
break;
}
}
您的密码
if(lines.get(i)=="Head First jQuery")
由于两个引用都指向两个不同的String实例,因此将始终为false。您应该使用equals()
或equalsIgnoreCase()
方法比较字符串。
我建议不要将比较留给ArraysList的contains()
方法,而不要这样做。
if(lines.contains("Head First jQuery")) {
System.out.println("find");
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句