Al cargar recursos, si una aplicación se ejecuta desde un IDE, la ruta al recurso puede ser diferente que cuando se ejecuta desde un archivo jar. Esto puede causar problemas si la aplicación depende de la ruta del archivo específica.
Una forma de resolver este problema es usar getResourceAsStream en lugar de getResource. getResourceAsStream devuelve un InputStream, que se puede usar para leer los datos del recurso sin tener que lidiar con la ruta del archivo.
Otra opción es extraer el recurso a un archivo temporal antes de usarlo. Esto se puede hacer usando el método Files.copy.
Sin embargo, es importante tener en cuenta que parte del código puede depender de que los datos estén en un único archivo físico en el sistema de archivos. En este caso, agrupar el recurso en un archivo jar puede no ser una opción.
Ejemplo de código:
InputStream inputStream = WinProcessor.class.getResourceAsStream("repository"); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line = reader.readLine()) != null) { // Do something with the line } reader.close();
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3