file reader 没有给我返回相同的字符串

file reader doesn't get me the same string back

我对 .txt 文件进行了基本读取,但我无法弄清楚为什么字符串不同?!

我的文本文件每行有 10 行 "zzz"。 当我尝试将它与字符串 "zzz" 进行比较时,它说它们不一样。 为什么 ? 是因为 reader 试图读取到下一个分隔符吗? 所以,现在字符串有我的 "zzz" + 分隔符? 如何从我的字符串中删除它? 我可以做类似 print(myString.length()-1) 的东西吗?

这是代码。 我查看了类似的内容,但一无所获。

try { 
Scanner rf = new Scanner(new BufferedReader(new FileReader("Data Saved.txt")));
String fileLine;
while ( rf.hasNext()) {
fileLine = rf.next(); 
if(fileLine == "zzz") System.out.print("yes ");
else System.out.print("no ");
System.out.println(fileLine);

}
rf.close();
} catch (IOException e) {
System.out.println("Error IOException is: " + e);
}

输出是no zzz,10次。

你应该使用 readLine 方法来避免换行,见 http://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html#readLine--

谢谢你。我不知道。我会尝试使用它看看它是如何工作的。 我设法使用以下方法解决了这个问题:

if ( fileLine.equals("zzz") )

而不是

if ( fileLine == "zzz" )

看来是可以的