文件阅读器不会给我带回相同的字符串

时间:2015-02-18 13:32:19

标签: string filereader separator

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

我的文本文件有10行" zzz"在每一行。 当我尝试将它与字符串" zzz"进行比较时据说它们不一样。 为什么? 是因为读者试图读到下一个分隔符? 所以,现在这个字符串有我的" 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);
}

输出无zzz ,10次。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

谢谢你。我不知道。我会尝试用它来看看它是如何工作的。 我设法使用:

处理问题
  

if(fileLine.equals(" zzz"))

而不是

  

if(fileLine ==" zzz")

似乎有效。