开发者

Get the last line from a String containing many lines

I'm reading a text file line by line and converting it into a string.

I'm trying to figure out how to check if the last line of the file is a specific word ("FILTER").

开发者_如何转开发

I've tried to use the endsWith(String) method of String class but it's not detecting the word when it appears.


Rather naive solution, but this should work:

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

Not sure why .endsWith() wouldn't work. Is there an extra newline at the end? (In which case the above wouldn't work). Do the cases always match?


.trim() your string before checking with endsWith(..) (if the file really ends with the desired string. If not, you can simply use .contains(..))


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


With

myString.endsWith("FILTER") 

the very last characters of the last line are checked. Maybe the method

myString.contains("FILTER")

is the right method for you? If you only want to check the last ... e.g.20 chars try to substring the string and then check for the equals method.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜