Cara Mengulang melalui Fail dan Direktori dalam Java
Menyalurkan melalui fail dan direktori dalam Java adalah tugas biasa, terutamanya apabila bekerja dengan fail sistem. Kelas Fail menyediakan beberapa kaedah untuk membantu dengan operasi ini.
Menggunakan Rekursi
Satu pendekatan ialah menggunakan rekursi. Rekursi melibatkan memanggil kaedah dari dalam dirinya sendiri untuk menyelesaikan masalah. Dalam kes ini, anda boleh menggunakan kaedah isDirectory() untuk menyemak sama ada fail yang diberikan mewakili direktori. Jika ia ialah direktori, anda boleh menyenaraikan failnya dan kemudian memanggil kaedah yang sama secara rekursif pada setiap subdirektori.
Contoh:
public void iterateFilesRecursively(File dir) { File[] files = dir.listFiles(); for (File file : files) { if (file.isDirectory()) { iterateFilesRecursively(file); // Recursive call } else { System.out.println("File: " + file.getAbsolutePath()); } } }
Menggunakan Fail .walk()
Java 8 memperkenalkan kaedah Files.walk(), yang menyediakan alternatif kepada rekursi menggunakan rekursi ekor. Rekursi ekor tidak menggunakan ruang tindanan seperti rekursi biasa, menjadikannya lebih selamat untuk mengendalikan struktur direktori yang besar.
Contoh:
Files.walk(Paths.get("/path/to/dir")) .forEach(path -> System.out.println(path.toFile().getAbsolutePath()));
Nota:
Ingat untuk mengendalikan kemungkinan pengecualian seperti IOException apabila bekerja dengan fail.
Atas ialah kandungan terperinci Bagaimana untuk Cekap Berulang Melalui Fail dan Direktori di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!