2011-03-21 107 views
1

我正在逐行讀取文本文件並將其轉換爲字符串。從包含多行的字符串獲取最後一行

我想弄清楚如何檢查文件的最後一行是否是一個特定的詞("FILTER")

我試過使用String類的endsWith(String)方法,但它在出現時沒有檢測到這個單詞。

+0

你應該顯示你正在使用的代碼......在我看來,你可能錯過了導致你的問題的代碼中的東西。 – Romain 2011-03-21 12:53:37

+0

我同意羅曼。你還可以顯示一個示例文件嗎? – Zlatko 2011-03-21 12:55:13

+3

[Java:快速讀取文本文件的最後一行?]的可能重複?(http://stackoverflow.com/questions/686231/java-quickly-read-the-last-line-of-a-text-file ) – dogbane 2011-03-21 12:55:24

回答

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

.trim()endsWith(..)前檢查您的字符串

1

比較幼稚的解決方案,但這應該工作(如果該文件確實與所需的字符串結尾。如果沒有,你可以簡單地使用.contains(..)):

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

不知道爲什麼.endsWith()不起作用。最後是否有額外的換行符? (在這種情況下,上述不起作用)。病例總是匹配嗎?

0

隨着

myString.endsWith("FILTER") 

最後一行的最後一個字符進行檢查。也許方法

myString.contains("FILTER") 

是您正確的方法嗎?如果您只想檢查最後一個...例如20個字符,請嘗試對字符串進行子串處理,然後檢查equals方法。

相關問題