Mencari Fail dengan Corak Wildcard dalam Java
Mengenal pasti fail yang sepadan dengan corak wildcard tertentu boleh menjadi menakutkan di Java. Untuk menangani cabaran ini, pertimbangkan pendekatan berikut:
Menggunakan org.apache.commons.io.filefilter.WildcardFileFilter
Buat contoh FileFilter menggunakan WildcardFileFilter:
FileFilter fileFilter = new WildcardFileFilter("sample*.txt");
Gunakan penapis pada direktori untuk menyenaraikan fail yang sepadan:
File dir = new File("."); File[] files = dir.listFiles(fileFilter);
Mengendalikan Laluan Relatif
Untuk mengambil kira laluan relatif dalam direktori:
Lelaran Melalui Subdirektori:
FileFilter dirFilter = new WildcardFileFilter("Test*"); File[] subdirs = new File(".").listFiles(dirFilter); for (File subdir : subdirs) { if (subdir.isDirectory()) { File[] files = subdir.listFiles(fileFilter); } }
Gunakan Rekursi:
File current = ...; // start at any directory File[] files = new ArrayList<>(); processFiles(files, current, fileFilter); private void processFiles(List<File> files, File dir, FileFilter filter) { File[] subdirs = dir.listFiles(dirFilter); for (File subdir : subdirs) { if (subdir.isDirectory()) { processFiles(files, subdir, filter); } else if (filter.accept(subdir)) { files.add(subdir); } } }
Pendekatan Alternatif
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Fail Padanan Corak Wildcard dengan Cekap di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!