2012-02-09 5 views
-3

나는 컴퓨터에서 특별한 파일 이름 확장자를 가진 파일을 검색 할 응용 프로그램을 작성 중입니다. (예 : JPG). 입력 데이터 : "D :", ".JPG"출력 : 결과가있는 txt 파일 (파일 디렉토리); 나는 단순한 재귀 알 고를 알고 있지만, 더 좋을 수도있다. 그래서, 파일 디렉토리를 가로 지르는 효율적인 알고리즘을 말해 줄 수 있습니다. 또한 더 나은 성능을 내기 위해이 문제를 해결하기 위해 멀티 스레딩을 사용하고 싶습니다. 하지만 얼마나 많은 쓰레드를 사용해야합니까? 1 디렉토리에 1 개의 쓰레드를 사용한다면 이것은 어리 석을 것이다.파일 찾기 (java)

+0

휠을 재발 명하고 싶지 않은 경우 http://commons.apache.org/io/api-release/index.html?org/apache/commons/io/package-summary.html –

답변

0

파일 시스템으로 손을 더럽 히고 싶지 않으면 재귀 옵션을 사용하는 것이 유일한 방법입니다. 나는 네가 그렇게 생각하지 않는다.

스레드 성능과 관련하여 최선의 선택은 스레드 수를 구성하고 샘플 디렉토리를 만들고 각 설정의 성능을 측정하는 것입니다.

그런데 대부분의 파일 찾기 프로그램은 파일 색인을 만듭니다. 그들은 일정에 따라 디스크를 검사하고 디스크의 파일 및 디렉토리에 대한 관련 정보가 들어있는 파일을 업데이트합니다. 이 파일은 검색을 용이하게하기위한 형식으로되어 있습니다. 이 색인 파일은 실제 검색을 수행하는 데 사용됩니다. 동일한 디렉토리에 대해이 검색을 반복적으로 실행하려면이 작업을 수행해야합니다.

+0

을 사용할 수 있습니다. OP는 색인을 생성하지 않고 파일을 찾고자합니다. 색인 생성에는 자체 단점이 있으며, 이와 같은 작은 응용 프로그램의 경우에는 과도 함입니다. –

+0

마지막 단락을 쪽지로 둡니다. 어쩌면 그것은 분명하지 않았습니다. – Joe