从包含许多行的String中获取最后一行

时间:2011-03-21 12:51:44

标签: java string

我正在逐行读取文本文件并将其转换为字符串。

我正在试图弄清楚如何检查文件的最后一行是否是特定的单词("FILTER")

我尝试使用String类的endsWith(String)方法,但它在出现时没有检测到。

4 个答案:

答案 0 :(得分:3)

相当天真的解决方案,但这应该有效:

String[] lines = fileContents.split("\n");
String lastLine = lines[lines.length - 1];
if("FILTER".equals(lastLine)){
// Do Stuff
}

不确定为什么.endsWith()不起作用。最后是否有额外的换行符? (在这种情况下,上述情况不起作用)。案件总是匹配吗?

答案 1 :(得分:1)

在使用.trim()检查之前,

endsWith(..)您的字符串(如果文件真的以所需的字符串结尾。如果没有,您只需使用.contains(..)

答案 2 :(得分:0)

myString.endsWith("FILTER") 

检查最后一行的最后一个字符。也许方法

myString.contains("FILTER")

对你来说是正确的方法吗?如果你只想检查最后的... eg20 chars尝试子串字符串,然后检查equals方法。

答案 3 :(得分:0)

   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;     
   }