>Java >java지도 시간 >Java에서 날짜별로 정렬된 파일 목록을 효율적으로 얻으려면 어떻게 해야 합니까?

Java에서 날짜별로 정렬된 파일 목록을 효율적으로 얻으려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-28 14:53:11282검색

How Can I Efficiently Get a Date-Sorted List of Files in Java?

Java에서 날짜별로 정렬된 파일 목록 얻기

질문:
개발자는 종종 디렉토리에 있는 파일을 나열하고 마지막 수정 날짜를 기준으로 정렬합니다. 한 가지 접근 방식은 File.listFiles()를 활용하고 File.lastModified()를 사용하여 목록을 재정렬하는 것입니다. 그러나 더 효율적인 방법이 있습니까?

답변:

가장 최적의 접근 방식은 Arrays.sort()와 함께 맞춤형 비교기를 활용하는 것입니다.

File[] files = directory.listFiles();

Arrays.sort(files, new Comparator<File>() {
    public int compare(File f1, File f2) {
        return Long.valueOf(f1.lastModified()).compareTo(f2.lastModified());
    }
});

이 접근 방식을 사용하면 파일이 시간순으로 정렬되어 가장 오래된 파일이 먼저 표시됩니다. Long.valueOf(f1.lastModified()) 표현식은 타임스탬프를 long으로 변환한 다음 CompareTo()를 사용하여 비교합니다. Comparator 인터페이스를 활용하면 추가 도우미 클래스 없이도 파일이 우아하게 정렬됩니다.

File.listFiles()가 반환된 파일의 순서를 보장하지 않는다는 점에 유의하는 것이 중요합니다. 따라서 제공된 비교기를 사용하여 배열을 명시적으로 정렬해야 합니다.

위 내용은 Java에서 날짜별로 정렬된 파일 목록을 효율적으로 얻으려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.