从包含多行的字符串获取最后一行
问题描述:
我正在逐行读取文本文件并将其转换为字符串。从包含多行的字符串获取最后一行
我想弄清楚如何检查文件的最后一行是否是一个特定的词("FILTER")
。
我试过使用String类的endsWith(String)
方法,但它在出现时没有检测到这个单词。
答
public static boolean compareInFile(String inputWord) {
String word = "";
File file = new File("Deepak.txt");
try {
Scanner input = new Scanner(file);
while (input.hasNext()) {
word = input.next();
if (inputWord.equals(word)) {
return true;
}
}
} catch (Exception error) {
}
return false;
}
答
.trim()
与endsWith(..)
前检查您的字符串
答
比较幼稚的解决方案,但这应该工作(如果该文件确实与所需的字符串结尾。如果没有,你可以简单地使用.contains(..)
):
String[] lines = fileContents.split("\n");
String lastLine = lines[lines.length - 1];
if("FILTER".equals(lastLine)){
// Do Stuff
}
不知道为什么.endsWith()不起作用。最后是否有额外的换行符? (在这种情况下,上述不起作用)。病例总是匹配吗?
答
随着
myString.endsWith("FILTER")
最后一行的最后一个字符进行检查。也许方法
myString.contains("FILTER")
是您正确的方法吗?如果您只想检查最后一个...例如20个字符,请尝试对字符串进行子串处理,然后检查equals方法。
你应该显示你正在使用的代码......在我看来,你可能错过了导致你的问题的代码中的东西。 – Romain 2011-03-21 12:53:37
我同意罗曼。你还可以显示一个示例文件吗? – Zlatko 2011-03-21 12:55:13
[Java:快速读取文本文件的最后一行?]的可能重复?(http://*.com/questions/686231/java-quickly-read-the-last-line-of-a-text-file ) – dogbane 2011-03-21 12:55:24