Dosya adı verilen bir özellik dosyasının içeriğini öğrenmeye alışığım ve açıkçası MyClass.class.getResource ('*. Properties') çalışmayacak, ancak özellik dosyaları TÜM listesini nasıl edinebilirim sınıfımla aynı pakette yer alıyor mu?Bir pakette bulunan tüm özellik dosyalarını dinamik olarak yüklemek mümkün mü? yani, MyClass.class.getResource ('*. özellikler');
cevap
Sen Bahar ile şeylerin bu tür yapabilirsiniz. 4.7.2 Wildcards in application context constructor resource paths numaralı telefondan, özellikle (veya özellikle?) (Veya esas olarak?) (Veya esas olarak?) 4. Resources'a bakın.
Curses, birisi gök gürültüsü çaldı :) Bir kurabiye al. +1 – skaffman
o JAR-ambalajlı olmadığını varsayarsak, bunun için File#listFiles()
kullanabilirsiniz. İşte başlama örnek:
String path = MyClass.class.getResource("").getPath();
File[] propertiesFiles = new File(path).listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".properties");
}
});
o JAR-paketlenmiş var, o zaman JarFile
API ile başlamak, biraz daha kod gerekir. this answer'da başka bir örnek bulabilirsiniz.
Bu
Class<? extends Object> clazz = AnyKnownClassInTheJar.class;
String classFileName = clazz.getSimpleName() + ".class";
URL classResource = clazz.getResource(classFileName);
if (!"jar".equals(classResource.getProtocol())) {
// Class not from JAR
return;
}
JarURLConnection classConnection = (JarURLConnection)classResource.openConnection();
JarFile jar = classConnection.getJarFile();
for (Enumeration<JarEntry> i = jar.entries(); i.hasMoreElements();) {
JarEntry entry = i.nextElement();
if (entry.getName().endsWith(".properties")) {
// Load the property file
}
}
Awesome! Bu, Android'de bile çalışır. Orada hileler classResource = AnyClassInTheApp.class.getResource ("/ AndroidManifest.xml") 'ile başlayacak. Kavanozda listelenen girişler APK içeriği olacaktır. – TWiStErRob
- 1. Verileri Firebase'den eşzamanlı olarak yüklemek mümkün mü?
- 2. ListPreference öğelerini bir adaptörden yüklemek mümkün mü?
- 3. Dinamik olarak bir UITextView oluşturmak mümkün mü?
- 4. Bir sınıfı dinamik olarak yüklemek ve onu bir tür olarak kullanmak mümkün mü?
- 5. 'İzlenecek' özellikler 'izlenmesi mümkün mü
- 6. .NET Yansıma: Dinamik Özellikler alınamıyor Dinamik özellikler
- 7. Dinamik bir nesneye dinamik olarak özellikler ekliyor mu?
- 8. Tüm sınıf isimleri bir pakette nasıl alınır?
- 9. Bir özellik dosyasını dinamik olarak NAnt'de yüklemek için bir yol var mı?
- 10. Dinamik nesne yürütme özelliğinin özelliklerine özellik eklenmesi mümkün mü?
- 11. Logback log dosyalarını programlı olarak bulmak mümkün mü?
- 12. Doküman dosyalarını Python ile düzenlemek mümkün mü?
- 13. Dinamik RSL URL'leri. Mümkün mü?
- 14. Bir klasörde bulunan tüm css (veya js) dosyalarını yüklemek için Liferay 6.2'de
- 15. Asp-klasik dinamik dahil etmek mümkün mü?
- 16. Sadece bir URL sağlayarak S3'e yüklemek mümkün mü?
- 17. Scala'daki dinamik mixin - mümkün mü?
- 18. NodeJS'de bir SSL sertifikası dinamik olarak iade etmek mümkün mü?
- 19. Bir PolyLineSegment'i Silverlight, yani PointCollection'da canlandırmak mümkün mü?
- 20. .Gitignore dosyalarını SVN dışında tutmak mümkün mü?
- 21. C'deki operatörleri aşırı yüklemek mümkün mü?
- 22. Kök olmadan CentOS'ta g ++ yüklemek mümkün mü?
- 23. SFSafariViewController'da yerel pdf dosyası yüklemek mümkün mü?
- 24. Excel sayfalarının adını 'xlsread' kullanarak MATLAB içine yüklemek mümkün mü?
- 25. Java'da Unicode karakterleri dinamik olarak oluşturmak mümkün mü?
- 26. JQuery Javascript dosyasını dinamik olarak yüklemek için
- 27. JUnit4 tüm testleri bir testsuite kullanarak belirli bir pakette çalıştırın
- 28. Tüm işlevi yerleştirmek mümkün mü?
- 29. Bir div'in tüm açıklıklarını dinamik olarak okuyor
- 30. Typescript: Sınıfı Dinamik Olarak Ata Özellikler
kullandıysanız bunu şansımızı böylece bu, Bahar ile çok kolay, sana Bahar tabanlı bir cevap verebilir, ben yaptım nasıl. – skaffman
Tamam ... bu mümkün olmadığını düşünmeye başlıyorum. Anlayışımdan, Java tembel sınıf yükünü kullanır ve bu nedenle sınıf yükleyici, bir sınıfa ulaşana kadar bir paketin içinde ne olduğunu bilmez. Gelebileceğim en yakın şey, bir paketin adını dizine çözümlemek için * girişimde bulunmaktır. dir dosyaları ve bunları class.getResource() aracılığıyla yüklemeye çalışın. Bunun bir hack olduğunu biliyorum; daha iyi bir yolu var mı – Stoney
Aha! Bu işe yarayacak gibi geliyor, Bahar kullanan herhangi bir cevap oldukça kabul edilebilir ve çok takdir olurdu – Stoney