if 语句中的问题

Trouble in a if statement

我在用 or 设置条件时遇到了一些麻烦。 看看我的问题。如果我执行它,它会起作用:

System.out.println(p_fileAccess.readLine().trim().startsWith("^ Item Type")); 

//它说的是真的,但如果我这样做

System.out.println("data :"+(p_fileAccess.readLine().trim().startsWith("* Item Type")||p_fileAccess.readLine().trim().startsWith("^ Item Type ")));

说错了 你能帮帮我吗?

第一个条件读取第 1 行,第二部分再次读取(第 2 行)。

试试这个:

String line = p_fileAccess.readLine().trim();
System.out.println("data:" + (line.startsWith("* Item Type") || line.startsWith("^ Item Type ")));

假设 p_fileAccess 是缓冲的 reader 或类似的,您的第二行代码正在查看文件中的两行不同的行。第一个不以“* Item Type”开头,第二个不以“^ Item Type”开头。