Rumah > Java > javaTutorial > Bagaimana Memadankan Rentetan Wildcard Apabila Mencari Fail di Java?

Bagaimana Memadankan Rentetan Wildcard Apabila Mencari Fail di Java?

Susan Sarandon
Lepaskan: 2024-12-03 10:09:11
asal
307 orang telah melayarinya

How to Match Wildcard Strings When Locating Files in Java?

Cara Mencari Fail yang Memadankan Rentetan Kad Liar dalam Java

Di Java, mencari fail yang mematuhi corak kad bebas tertentu adalah tugas biasa. Apabila diberikan rentetan kad bebas seperti "../Test?/sample*.txt", adalah penting untuk mengenal pasti fail sepadan yang sepadan dengan corak ini.

Satu kaedah yang diterima secara meluas untuk menangani cabaran ini ialah dengan memanfaatkan WildcardFileFilter kelas daripada perpustakaan Apache Commons IO. Penapis ini membolehkan anda menentukan ungkapan kad bebas yang mentakrifkan kriteria carian fail.

Untuk menggambarkan penggunaannya, mari lihat contoh:

import org.apache.commons.io.FileUtils;

File dir = new File(".");
FileFilter fileFilter = new WildcardFileFilter("sample*.java");
File[] files = dir.listFiles(fileFilter);
for (File file : files) {
    System.out.println(file);
}
Salin selepas log masuk

Dalam senario ini, penapis akan menemui semua fail dalam direktori semasa yang sepadan dengan corak "sample*.java", termasuk fail seperti "sample22b.java" dan "sample-spiffy.java".

Walau bagaimanapun, jika anda perlu memadankan laluan yang lebih kompleks dengan aksara kad bebas dan subdirektori, pendekatan yang lebih jelas diperlukan. Satu pilihan adalah untuk mengulangi senarai subdirektori dan menggunakan penapis kad bebas pada setiap subdirektori secara berasingan:

FileFilter dirFilter = new WildcardFileFilter("Test*");
File[] directories = dir.listFiles(dirFilter);
for (int i = 0; i < directories.length; i++) {
    File dir = directories[i];
    if (dir.isDirectory()) {
        FileFilter fileFilter = new WildcardFileFilter("sample*.java");
        File[] files = dir.listFiles(fileFilter);
    }
}
Salin selepas log masuk

Pendekatan ini memastikan bahawa fail yang terletak dalam subdirektori yang sepadan dengan corak "Ujian*" juga dipertimbangkan dalam carian hasil.

Atas ialah kandungan terperinci Bagaimana Memadankan Rentetan Wildcard Apabila Mencari Fail di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan