从 Arraylist 中搜索文本

Search text From Arraylist

Source Code GitHub 我正在处理文件处理库 Project.Books 数据保存在文件名中 NameList.txt

Ready whole File and save into ArrayList 然后尝试搜索 Book Name "Head First jQuery" 但可以找到。 请帮助我如何从 Arraylist 中找到文本文件的 Desire Text。

注意 当我将 txt 文件的文本移动到数组列表时,整行复制其中 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")

将始终评估为 false,因为比较的两个引用都指向两个不同的 String 实例。您应该使用 equals()equalsIgnoreCase() 方法比较字符串。

我建议保留与 ArraysList 的 contains() 方法的比较,而不是你自己做。

            if(lines.contains("Head First jQuery")) {
                System.out.println("find");
            }