Ho un file jar, che contiene varie cartelle come immagini, caratteri, messaggi, ecc ... Devo leggere tutti i file solo nella cartella dei caratteri.Leggi i file da una cartella all'interno di un file jar
Attualmente il mio codice java sta iterando attraverso tutti i contenuti nel file jar. Il mio codice è il seguente:
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());
}
}
C'è un modo tale che posso dare il percorso della cartella dei font (congig-jar \ config \ beni \ fonts), piuttosto che attraversare attraverso tutti i contenuti nel vaso . So che il percorso della cartella dei caratteri è fisso, quindi non voglio che il sovraccarico di travesring attraverso tutte le cartelle nel vaso.
Forse questo pezzo di codice funziona? 'JarEntry entry = getJarEntry (" congig-jar \ config \ assets \ fonts ");' 'Input Input input = jarFile.getInputStream (voce);' –
Chi ha creato (rende) il Jar? Se sei tu, avrebbe senso mettere una lista dei file inclusi in una posizione nota nel Jar. PER ESEMPIO. 'Fonts/all.list'. Ottieni la singola risorsa, leggila e hai l'elenco dei nomi delle voci dei font. –
Andrew- Il file jar non è stato creato da me. È riassunto e inviato, e devo leggere i file dei font nella mia cartella font nel jar – nishMaria