के अंदर किसी फ़ोल्डर से फ़ाइलें पढ़ें मेरे पास एक जार फ़ाइल है, जिसमें छवियों, फोंट, संदेश इत्यादि जैसे विभिन्न फ़ोल्डर्स हैं ... मुझे केवल फ़ॉन्ट फ़ोल्डर के अंदर सभी फ़ाइलों को पढ़ना है।एक जार फ़ाइल
वर्तमान में मेरा जावा कोड जार फ़ाइल में सभी सामग्री के माध्यम से पुनरावृत्त कर रहा है। मेरे कोड इस प्रकार है:
private void loadApplicationSpecificFonts() {
try{
JarFile jarFile = new JarFile("owenstyle-jar-config.jar");
JarEntry entry;
String fontName;
for(Enumeration em = jarFile.entries(); em.hasMoreElements();) {
String s= em.nextElement().toString();
if(s.endsWith("ttf")){
fontName= s.substring(s.lastIndexOf("/")+1);
fontName= fontName.substring(0, fontName.indexOf(".ttf"));
entry = jarFile.getJarEntry(s);
InputStream input = jarFile.getInputStream(entry);
Font font= Font.createFont(Font.TRUETYPE_FONT, input);
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(font);
input.close();
}
}
jarFile.close();
}catch (IOException e){
System.err.println("Error: " + e.getMessage());
}catch (FontFormatException e){
System.err.println("Error: " + e.getMessage());
}
}
वहाँ एक रास्ता ऐसा है कि मैं फ़ॉन्ट फ़ोल्डर का पथ दे सकते है (congig-जार \ config \ संपत्ति \ फोंट), बल्कि जार में सभी सामग्री के माध्यम से traversing से । मुझे पता है कि फ़ॉन्ट फ़ोल्डर का मार्ग तय है, इसलिए मैं जार में सभी फ़ोल्डर्स के माध्यम से ट्रैवर्सिंग के ऊपरी हिस्से को नहीं चाहता हूं।
शायद कोड का यह टुकड़ा काम करता है? 'JarEntry प्रविष्टि = getJarEntry ("congig-jar \ config \ assets \ fonts"); ' ' इनपुटस्ट्रीम इनपुट = jarFile.getInputStream (प्रविष्टि);' –
किसने जार बनाया (बनाता है)? यदि यह आप हैं, तो जार में किसी ज्ञात स्थान में शामिल फ़ाइलों की सूची डालना समझदारी होगी। E.G. 'फोंट/all.list'। वह एकल संसाधन प्राप्त करें, इसे पढ़ें, और आपके पास फ़ॉन्ट प्रविष्टि नामों की सूची है। –
एंड्रयू- जार फ़ाइल मेरे द्वारा नहीं बनाई गई है। यह assmebled और भेज दिया है, और मुझे जार – nishMaria