Tengo un archivo jar, que contiene varias carpetas como imágenes, fuentes, mensajes, etc. ... Tengo que leer todos los archivos dentro de la carpeta de fuente solamente.Leer archivos de una carpeta dentro de un archivo jar
Actualmente, mi código de Java está iterando a través de todos los contenidos en el archivo jar. Mi código es el siguiente:
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());
}
}
¿Hay una manera que puedo dar a la ruta de la carpeta de fuente (congig-jar \ config \ activos \ fonts), en lugar de recorrer a través de todos los contenidos en el frasco . Sé que la ruta de la carpeta de fuente es fija, por lo que no quiero la sobrecarga de navegar a través de todas las carpetas en el contenedor.
¿Quizás este pedazo de código funcione? 'JarEntry entry = getJarEntry (" congig-jar \ config \ assets \ fonts ");' 'InputStream input = jarFile.getInputStream (entrada);' –
¿Quién hizo (hace) el Jar? Si es usted, tendría sentido poner una lista de los archivos incluidos en una ubicación conocida en el Jar. P.EJ. 'fonts/all.list'. Obtenga ese único recurso, léalo y tendrá la lista de nombres de entradas de fuentes. –
Andrew- El archivo jar no está hecho por mí. Se atiende y se envía, y tengo que leer los archivos de fuentes dentro de mi carpeta de fuentes en el jar – nishMaria