Este problema me ha estado molestando por un tiempo. Tengo que cargar un par de archivos en mi aplicación Java, y la única manera me trabajando hasta ahora se ve así:Cargando archivos con ClassLoader
URL hsURL;
if(System.getProperty("os.name").toLowerCase().contains("windows")) {
hsURL = new URL("file:/" + System.getProperty("user.dir") + "/helpsets/helpset.hs");
}
else {
hsURL = new URL("file://" + System.getProperty("user.dir") + "/helpsets/helpset.hs");
}
Pero esto es feo y terrible. Durante un tiempo pensé que tenía este trabajo:.
hsURL = ClassLoader.getSystemResource("helpsets/helpset.hs");
Pero eso ya no funciona por alguna razón (Debo haber cambiado algo y no lo notó devuelve null
debo utilizar getResource(). en lugar de getSystemResource() (de ser así, ¿por qué getSystemResource() static pero no getResource())?
Estoy usando eclipse y he intentado incluir la carpeta en la ruta de compilación (classpath) y no incluirla, no parece hacer la diferencia.
Darn.Bétame por un par de segundos – tddmonkey
Si solo está interesado en los contenidos, probablemente sea mejor que use getResourceAsStream() en el ClassLoader –
, aún no lo he conseguido. Estoy intentando cargar un archivo que está en un paquete diferente al de la clase desde la que lo estoy cargando, así que necesito algún tipo de referencia absoluta. – twolfe18