Nasıl Java joker bir dizeyle eşleşen dosyaları bulmak için?
Bu gerçekten basit olmalıdır. Eğer böyle bir Dize varsa:
../Test?/sample*.txt
bu desenle eşleşen dosyaların listesini almak için genel kabul görmüş bir yolu nedir? ../Test1/sample22b.txt
../Test4/sample-spiffy.txt
../Test3/sample2.blah
../Test44/sample2.txt
uygun olması gerekir (örn
org.apache.commons.io.filefilter.WildcardFileFilter
bir göz attım ve canavar gibi görünüyor ama göreceli dizin yolu içinde dosyaları bulmak için nasıl kullanılacağını emin değilim.
Joker sözdizimi kullanır beri karınca için kaynak bakabilirim sanırım, ama burada bir şey çok açık kaçırıyor olmalıyım.
(edit: yukarıdaki örnek sadece örnek bir dava oldu. Yol için genel yollar zamanında joker karakterler içeren ayrıştırmak için arıyorum. Mmyers' ama önerim biraz sinir bozucu. dayalı nasıl yapılacağını çözdüm Söz değil bu java TOTEM gibi görünüyor otomatik ayrıştırma basit joker karakterler içinde main(String[] argümanlar) bir tek bağımsız değişken için "Kaydet" bana zaman ve güçlük... ben sadece mutlu değildim var olmayan dosya bağımsız karıştırın.)
CEVAP
Ben genelde Apache commons-io (listFiles
iterateFiles
yöntemleri) FileUtils
kullanın. Genellikle kod bir şey like this görünüyor:
File dir = new File(".");
FileFilter fileFilter = new WildcardFileFilter("sample*.java");
File[] files = dir.listFiles(fileFilter);
for (int i = 0; i < files.length; i ) {
System.out.println(files[i]);
}
TestX
klasörleri ile sorunu çözmek için, ilk klasör listesini yinelemek istiyorum:
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"));
}
}
'Kaba kuvvet' çözüm ama iyi çalışması gerekir. oldukça Eğer bu sizin ihtiyaçlarınıza uygun değilse, her zaman RegexFileFilter kullanabilirsiniz.
Nasıl JSP dosyaları Java kod önlemek i...
Nasıl kullanılmayan/java projeleri ölü...
Nasıl kedi dosyaları bulmak için komut...
Nasıl üretilen kod gibi belirli bir di...
Nasıl karma bir anahtar eşleşen bir de...