El archivo Jar exportado no leerá el archivo dentro de jar
En el siguiente ejemplo de código, cuando pruebo el código en Eclipse, funciona bien. Sin embargo, cuando exporto el archivo jar y lo pruebo a través de la línea de comando, arroja un error:IIOException: Can't read input file!
private BufferedImage img = null;
private String imgSource;
if (img == null)
{
try {
URL url = getClass().getResource("Images/questionMark.png");
System.out.println(url.getPath());
/* This prints: file:/C:/Users/Keno/Documents/javaFile.jar!/javaFile/Images/questionMark.png */
File file = new File(url.getPath());
img = ImageIO.read(file);
imgSource = file.getName();
} catch (IOException e) {
e.printStackTrace();
}
}
El archivo que quiero obtener se encuentra dentro de la carpeta Imágenes que está dentro dejavaFile
paquete. He notado una cosa que puede indicar el problema.
Además, en caso de que alguien tenga una mejor sugerencia sobre cómo debo cargar el archivo, le diré mis intenciones. Me gustaría cargar el archivo desde una ubicación relativa (carpeta Imágenes) en el archivo jar. Me gustaría mostrarlo (ya hecho en mi código real) y también almacenar la ubicación que se pasará más adelante a otra función (también hecho).