Me estoy poniendo en práctica un predictor de saltos para una de mis clases y estoy tratando de leer los archivos de mi carpeta src en Eclipse, pero por alguna razón no es capaz de abrir los archivos. He hecho esto antes con el mismo proceso exacto así que no estoy seguro de lo que es diferente.
traceFile se establece desde la línea de comandos y si imprimo "de entrada", se imprimirá la ruta del archivo correcto y me han confirmado que está allí de forma manual.
ClassLoader loader = BiModalPredictor.class.getClassLoader();
File input = new File(loader.getResource(traceFile).getFile());
Scanner fin = new Scanner(input);
¿Hay alguna idea de por qué esto podría estar sucediendo? He intentado reiniciar Eclipse, refrescante los archivos, y también he probado en otro programa que funcionó. Ni idea de por qué no puede encontrar este archivo.
Recursos en la ruta de clases, es decir, disponible a través de cargadores de clases getResource
método, no será archivos en el sistema de archivos cuando la aplicación se implementa como un archivo JAR o desplegado en general. No utilice File
con tales recursos, en lugar de utilizar getResourceAsStream
para acceder al contenido del recurso.
Además, su código es incorrecto. getResource()
devuelve una URL
. Si quieres un File
objeto desde una URL
, se debe utilizar new File(uri)
, en el que URI
se obtiene llamando url.toURI()
.
File input = new File(loader.getResource(traceFile).toURI());