【发布时间】:2014-04-22 12:53:48
【问题描述】:
我有一个包含字符串 - "!- =========== ALL OBJECTS IN CLASS: FENESTRATIONSURFACE:DETAILED ===========" 的文本文件,如下面的代码所示。如果文本文件包含此字符串,我需要从文本文件中读取它,然后再次打印出来。问题是我无法弄清楚为什么我的代码没有打印出来。
任何帮助将不胜感激!
public class Main {
public static void main(String[] args) throws FileNotFoundException {
File file = new File("C:/Users/Anton/Pictures/1 x geotransform0.5m shading.txt");
Scanner scan = new Scanner(file);
while(scan.hasNext()){
String str = scan.next();
if(str == "!- =========== ALL OBJECTS IN CLASS: FENESTRATIONSURFACE:DETAILED ==========="){
System.out.print(str);
}
}
scan.close();
}
}
【问题讨论】:
-
在使用调试器时,当您到达
if语句时,str是什么? -
使用 String 对象的 equals() 方法 ==.
-
这看起来很糟糕
str ==。看看How do I compare strings in Java?。next()也只会返回一个单词。您可能需要使用nextLine()。