2014-05-24 3 views
0

나는 수백 개의 스톱 워드가있는 파일이 있습니다. 예를 들어 사용자가 파일을 수정했는지 또는 파일이 손상된 경우에도 파일을 수정했는지 확인할 수 있기를 원합니다.스톱 워드 파일이 손상되었는지 여부를 확인하는 방법

내가 현재 생각하고있는 방식은 줄 수가 맞는지 여부를 찾는 것입니다. 또한 총 문자 수를 예상한지 확인하거나 메모리에 전체 스톱 워드 목록을로드하여 파일 하나 하나가 모두 있는지 확인하십시오. 내가 생각한 모든 방식 중 3 가지가 비효율적이거나 나빠진 것처럼 보이기 때문에 더 좋은 방법이 있는지 물어 보았습니다.

나는 구현 생각하고 무엇 :

private static final int WORD_COUNT = 354; 

    public static boolean stopwordsCorrupted(File file) { 
     int numOfLines = countLines(file); 

     return WORD_COUNT != numOfLines; 
    } 
+3

체크 아웃 : http://en.wikipedia.org/wiki/Checksum 변경 사항이 없는지 확인하기 위해 파일의 hashfuntion을 사용합니다. – wastl

+0

누군가가 목록을 수정하면 제안 된 방법이 작동하지 않습니다. 누군가가 단어를 추가하거나 제거했는지 여부 만 확인합니다. 체크섬을 사용해보십시오. – usr2564301

+0

파일 해시를 계산하고 참조와 비교하는 것이 어떨까요? –

답변

1

자바 WatchService API이 문제에 대한 도움이 될 수 있습니다.

+0

불행히도 저는 한 번 체크하는 것보다 파일이나 디렉토리를 폴링하는 것에 관심이 없습니다. –

관련 문제