2011-03-21 3 views
1

줄마다 한 줄씩 텍스트 파일을 읽고 문자열로 변환하고 있습니다.여러 줄을 포함하는 문자열에서 마지막 줄 가져 오기

파일의 마지막 줄이 특정 단어 ("FILTER")인지 확인하는 방법을 알아 내려고하고 있습니다.

문자열 클래스의 endsWith(String) 메서드를 사용하려고했지만 표시 될 때 단어를 감지하지 못합니다.

+0

사용중인 코드를 표시해야합니다 ... 문제의 원인이되는 코드에서 뭔가를 놓친 것 같습니다. – Romain

+0

나는 Romain에 동의합니다. 예제 파일을 보여줄 수 있습니까? – Zlatko

+3

[Java : 텍스트 파일의 마지막 줄을 빨리 읽을 수 있습니까?] (http://stackoverflow.com/questions/686231/java-quickly-read-the-last-line-of-a-text-file)) – dogbane

답변

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()가 작동하지 않는 이유를 잘 모릅니다. 끝에 여분의 개행 문자가 있습니까? (위의 경우 작동하지 않을 경우). 케이스가 항상 일치합니까? 마지막 줄의

myString.endsWith("FILTER") 

맨 마지막 문자로

0

이 확인됩니다. 어쩌면 방법

myString.contains("FILTER") 

당신에게 적합한 방법일까요? 예를 들어 마지막 문자 만 검사하려면 문자열을 부분 문자열로 변환 한 다음 equals 메소드를 확인하십시오.

관련 문제