약 10^8 개의 파일이 들어있는 폴더에서 파일을 읽어야하는 프로그램을 디자인하고 있습니다.FileInputStream은 어떻게 파일을 찾습니까?
FileInputStream은 제공된 파일 이름에서 원하는 파일을 어떻게 찾을 수 있습니까? O (1) 조회 시간을 사용하는 hashmap과 비슷하게 작동합니까? 아니면 일치하는 항목이 발견 될 때까지 주어진 폴더의 파일을 선형 적으로 통과합니까?
Windows File Storage가 FileInputStream보다 작동하는 방식과 더 관련이 있다고 생각하지만 솔직히 확신 할 수 없습니다.
이렇게하려면 'SimpleFileVisitor' 사용을 고려하십시오. [ref] (http://docs.oracle.com/javase/tutorial/essential/io/walk.html) – afzalex
파일의 크기는 어느 정도입니까? NTFS에서 최소 할당 단위는 4096 바이트이므로 10^8 파일의 경우 평균 디스크 공간 오버 헤드는 약 200GB가됩니다. –