在JAVA中读取文件,equals不起作用

Ann*_*kou 2 java file equals

我有一个txt文件,我读了它.这就是它所说的:

CONTRACT
{
    CODE 1
    SERVICE "Pro"
    NAMESURNAME "Takis Papadopoulos"
    PHONENUMBER 6980021739
    DATE "19/3/2007"
    TYPE Internet
    DISCOUNT 10
    MONTHLY_USAGE{
        MB_USED 200
    }
}
Run Code Online (Sandbox Code Playgroud)

我创建了一个BufferedReader,我使用line = read.readLine()方法.但问题是,当涉及到这段代码时:

if(line.trim().startsWith("SERVICE ")){                                    
    tmp_service = line.trim().substring(8);
    System.out.println(tmp_service);//Prints "Pro"

    if(tmp_service.equals("Pro")){
        System.out.println("1");//Never gets in
    }else if(tmp_service.equals("Internet Family")){
        System.out.println("2")
    }else{
        System.out.println("3");//Prints this
    }
    count++;
    System.out.println(tmp_service);//Prints "Pro"
}
Run Code Online (Sandbox Code Playgroud)

它总是打印"3",即使equals应该是"true",它也不是.我也试过"startsWith()",但它也不起作用.

Ame*_*bsa 7

您的文字中有引文,因此您需要将它们包含在支票中

 if(tmp_service.equals("\"Pro\"")){
Run Code Online (Sandbox Code Playgroud)

在我看来,一个更好的解决方案是删除所有''',如果你期望有很多事件,它总是更好地推广你的案例