Mencari Fail dengan Corak Wildcard dalam Java
Persoalan yang timbul melibatkan mencari cara untuk mengenal pasti fail yang sepadan dengan rentetan kad bebas, seperti "../Test?/sample*.txt," dalam Java. Walaupun ketersediaan WildcardFileFilter Apache commons-io, mungkin terdapat sedikit kekeliruan tentang pelaksanaannya untuk mencari fail dalam laluan direktori relatif.
Menggunakan Apache Commons-IO
Untuk gunakan FileUtils daripada Apache commons-io, coretan kod berikut boleh bekerja:
File dir = new File("."); FileFilter fileFilter = new WildcardFileFilter("sample*.java"); File[] files = dir.listFiles(fileFilter);
Kod ini akan mengembalikan tatasusunan fail yang sepadan dalam direktori semasa.
Mengendalikan Direktori
Untuk mencari fail dalam subdirektori, seperti "Test1" dan "Test4" daripada corak sampel, gelung tambahan boleh ditambah:
File[] dirs = new File(".").listFiles(new WildcardFileFilter("Test*.java"); for (int i=0; i<dirs.length; i++) { File dir = dirs[i]; if (dir.isDirectory()) { File[] files = dir.listFiles(new WildcardFileFilter("sample*.java")); } }
Ini akan secara rekursif mencari dan menyenaraikan fail yang sepadan dengan corak kad bebas yang ditentukan.
Pertimbangan Lain
Pendekatan alternatif yang disebut dalam persoalannya ialah untuk memeriksa kod sumber Apache Ant, yang menggunakan sintaks kad bebas. Walau bagaimanapun, ini mungkin bukan penyelesaian yang paling mudah untuk kebanyakan pengguna.
Selain itu, perlu diperhatikan bahawa Java Runtime Environment (JRE) secara automatik menghuraikan kad bebas mudah dalam hujah baris arahan, memudahkan proses untuk senario asas.
Atas ialah kandungan terperinci Bagaimana Saya Boleh Cari Fail Padanan Corak Wildcard dalam Java Menggunakan Apache Commons-IO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!