SORU
13 EKİM 2010, ÇARŞAMBA


Sınıf dizinden kaynaklarının bir listesini almak

Bir yol için verilen sınıf bir dizindeki tüm kaynak adlarının bir listesi, bir şey 0 ** bir yöntem gibi almak için arıyorum.

Örneğin, belirli bir sınıf Dizini x/y/z içeren dosyaları a.html, b.html, c.html ve bir alt d, getResourceNames("x/y/z") dönüş List<String> içeren aşağıdaki dizeleri:['a.html', 'b.html', 'c.html', 'd'].

Dosya sistemi ve kavanozlarda kaynakları her ikisi için de çalışması gerekir.

File, JarFiles s URLs ile hızlı bir parçacık yazabilirim biliyorum, ama tekerleği yeniden icat etmek istemiyorum. Benim sorum getResourceNames uygulamak için en hızlı yolu nedir, kamuya açık mevcut kütüphaneler verilir? Bahar ve Apache Commons yığınlarının her ikisi de mümkün.

CEVAP
13 EKİM 2010, ÇARŞAMBA


Üç çözümleri biliyorum:

1) özel tarayıcı Yazmak, örn. sonrası yukarıdaki gibi.

2) Bahar çerçevesinden PathMatchingResourcePatternResolver

3) yukarıdaki 2 teknikleri eğer sınıf büyük ise zamanında çok yavaş olabilir. Daha hızlı bir çözümdür: http://code.google.com/p/reflections/ - precompiles 'arama zamanı . en hızlı bu yüzden derleme zamanında, sadece

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Christian Atlas

    Christian At

    26 Mart 2009
  • Kevin Bruckert

    Kevin Brucke

    30 Aralık 2006
  • Matt Davis

    Matt Davis

    4 ŞUBAT 2006