줄마다 한 줄씩 텍스트 파일을 읽고 문자열로 변환하고 있습니다.여러 줄을 포함하는 문자열에서 마지막 줄 가져 오기
파일의 마지막 줄이 특정 단어 ("FILTER")
인지 확인하는 방법을 알아 내려고하고 있습니다.
문자열 클래스의 endsWith(String)
메서드를 사용하려고했지만 표시 될 때 단어를 감지하지 못합니다.
줄마다 한 줄씩 텍스트 파일을 읽고 문자열로 변환하고 있습니다.여러 줄을 포함하는 문자열에서 마지막 줄 가져 오기
파일의 마지막 줄이 특정 단어 ("FILTER")
인지 확인하는 방법을 알아 내려고하고 있습니다.
문자열 클래스의 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")
당신에게 적합한 방법일까요? 예를 들어 마지막 문자 만 검사하려면 문자열을 부분 문자열로 변환 한 다음 equals 메소드를 확인하십시오.
사용중인 코드를 표시해야합니다 ... 문제의 원인이되는 코드에서 뭔가를 놓친 것 같습니다. – Romain
나는 Romain에 동의합니다. 예제 파일을 보여줄 수 있습니까? – Zlatko
[Java : 텍스트 파일의 마지막 줄을 빨리 읽을 수 있습니까?] (http://stackoverflow.com/questions/686231/java-quickly-read-the-last-line-of-a-text-file)) – dogbane