我正在逐行讀取文本文件並將其轉換爲字符串。從包含多行的字符串獲取最後一行
我想弄清楚如何檢查文件的最後一行是否是一個特定的詞("FILTER")
。
我試過使用String類的endsWith(String)
方法,但它在出現時沒有檢測到這個單詞。
我正在逐行讀取文本文件並將其轉換爲字符串。從包含多行的字符串獲取最後一行
我想弄清楚如何檢查文件的最後一行是否是一個特定的詞("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://stackoverflow.com/questions/686231/java-quickly-read-the-last-line-of-a-text-file ) – dogbane 2011-03-21 12:55:24