Soalan:
Pembangun sering menghadapi keperluan untuk menyenaraikan fail dalam direktori dan susun mereka berdasarkan tarikh terakhir mereka diubah suai. Satu pendekatan melibatkan penggunaan File.listFiles() dan menggunakan senarai menggunakan File.lastModified(). Namun, adakah kaedah yang lebih cekap?
Jawapan:
Pendekatan yang paling optimum ialah memanfaatkan pembanding tersuai bersama-sama dengan 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()); } });
Pendekatan ini memastikan fail diisih mengikut kronologi, dengan fail tertua dipaparkan dahulu. Ungkapan Long.valueOf(f1.lastModified()) menukar cap waktu kepada panjang, yang kemudiannya dibandingkan menggunakan compareTo(). Dengan menggunakan antara muka Comparator, fail diisih dengan elegan tanpa memerlukan kelas pembantu tambahan.
Adalah penting untuk ambil perhatian bahawa File.listFiles() tidak menjamin susunan fail yang dikembalikan. Oleh itu, menyusun tatasusunan secara eksplisit menggunakan pembanding yang disediakan adalah perlu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Senarai Fail Isih Tarikh di Java dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!