【发布时间】:2013-02-12 12:45:15
【问题描述】:
try (BufferedReader br = new BufferedReader(new FileReader("Templates/format/test.txt")))
{
String sCurrentLine;
while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine.toString().trim());
if(sCurrentLine.toString().trim().equalsIgnoreCase("Test2")){
System.out.println("HI: "+sCurrentLine.toString().trim());
}
}
} catch (IOException e) {
e.printStackTrace();
}
我正在尝试获取 .txt 的内容,但都没有
if(sCurrentLine.toString().trim().equalsIgnoreCase("Test2")){
System.out.println("HI: "+sCurrentLine.toString().trim());
}
或
if(sCurrentLine.toString().trim().equals("Test2")){
System.out.println("HI: "+sCurrentLine.toString().trim());
}
有效。
这是txt的内容:
Text1
Text2
Text3
我也不明白这是为什么:System.out.println(sCurrentLine.toString().trim()); 导致控制台中的以下输出。为什么我会在开头出现中断和符号?
þÿ T e s t 1
T e s t 2
T e s t 3
感谢您在这里帮助我!
【问题讨论】:
-
看起来像编码问题。您是创建文件还是只是尝试处理它?
-
这只是一个想法,会不会开头有BOM?
-
听起来像是编码问题,看看这个:stackoverflow.com/questions/13748613/…
-
你能在while循环中使用第一个sysout打印文件的内容吗?
-
一个不会导致您的问题的小问题:为什么要在字符串上调用
toString()?
标签: java string equals bufferedreader