Получить последнюю строку из строки, содержащей много строк - PullRequest
1 голос
/ 21 марта 2011

Я читаю текстовый файл построчно и преобразую его в строку.

Я пытаюсь выяснить, как проверить, является ли последняя строка файла определенным словом ("FILTER").

Я пытался использовать метод endsWith(String) класса String, но он не обнаруживает слово при его появлении.

Ответы [ 4 ]

3 голосов
/ 21 марта 2011

Скорее наивное решение, но это должно сработать:

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

Не уверен, почему .endsWith () не будет работать. Есть ли дополнительный конец строки в конце? (В этом случае выше не будет работать). Случаи всегда совпадают?

1 голос
/ 21 марта 2011

.trim() ваша строка перед проверкой с помощью endsWith(..) (если файл действительно заканчивается желаемой строкой. Если нет, вы можете просто использовать .contains(..))

0 голосов
/ 21 марта 2011
   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;     
   }     
0 голосов
/ 21 марта 2011

С

myString.endsWith("FILTER") 

проверяются самые последние символы последней строки. Может быть, метод

myString.contains("FILTER")

это правильный метод для вас? Если вы хотите проверить только последние ... например, 20 символов, попробуйте подстроку строки и затем проверьте метод equals.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...