2011-10-31 2 views
6

Như thường tôi đọc các nguồn lực từ file jar như sau:Danh sách tài nguyên trong thư mục tệp jar?

getClassLoader().getResource(pTextPath + "/" + pLang +".xml"); 

tôi cần phải đọc tất cả các tài nguyên với tên nào đó từ thư mục được biết đến trong file jar. Ví dụ. đọc * .xml từ

addon/nguồn/văn bản

thể tôi bằng cách nào đó có được từ các tập tin jar danh sách các nguồn theo đường dẫn và tên mẫu?

CẬP NHẬT: Sao chép chính xác Get a list of resources from classpath directory Vui lòng đóng câu hỏi.

+1

Đặt danh sách trong Thùng khi được xây dựng. Đọc danh sách đó tại thời gian chạy. –

+4

http://stackoverflow.com/questions/3923129/get-a-list-of-resources-from-classpath-directory –

Trả lời

4
CodeSource src = MyClass.class.getProtectionDomain().getCodeSource(); 
if (src != null) { 
    URL jar = src.getLocation(); 
ZipInputStream zip = new ZipInputStream(jar.openStream()); 
/* Now examine the ZIP file entries to find those you care about. */ 
... 
} 
else { 
    /* Fail... */ 
} 
+1

'else {/ * Fail ... * /' Tại thời điểm nào mã xử lý ' SeurityException' có khả năng được ném bởi ['Class.getProtectionDomain()'] (http://download.oracle.com/javase/7/docs/api/java/lang/Class.html#getProtectionDomain%28%29)? –