Java 正在尝试从文件中查找并打印一行

Java 正在尝试从文件中查找并打印一行,java,Java,我有一个程序,它可以做几种不同的事情,其中一种方法是在文件中查找一个项目,并在行中显示该文件的属性(共3个)。出于某种原因,这只是打印出文件中的前三个字符串,而不是查找并打印我搜索的项目 public static void findItem() throws FileNotFoundException { Scanner kb = new Scanner(System.in); FileReader reader = new FileReader("read_record.txt"

我有一个程序,它可以做几种不同的事情,其中一种方法是在文件中查找一个项目,并在行中显示该文件的属性(共3个)。出于某种原因,这只是打印出文件中的前三个字符串,而不是查找并打印我搜索的项目

public static void findItem() throws FileNotFoundException {
 Scanner kb = new Scanner(System.in);

    FileReader reader = new FileReader("read_record.txt");
    Scanner fin = new Scanner(reader);
    System.out.println("Enter the sku of the dvd you wish to find.");
    String dvdSku = kb.next();


    while (fin.hasNext()){
        String nextString = fin.next();
        if (nextString == dvdSku); {
            String skuToFind = nextString;
            String titleToFind = fin.next();
            String lengthToFind = fin.next();
            System.out.printf("%-10s %-15s %10s %n",skuToFind,titleToFind,lengthToFind);
            break;
        }
    }
} 

使用equalsequalsIgnoreCase比较字符串

if (nextString.equals(dvdSku)){

另外,删除您的break语句,除非您想在第一次匹配时停止。

删除break语句,它将能够搜索整个文件,也可以搜索if后面和括号之前的分号。实际上,它将编译并结束if。然后括号里的东西每次都会被调用。啊,我真蠢。它总是一个分号哈哈。谢谢@user305052发生这种情况时。:)现在一切都好了,谢谢大家。