¿Existe alguna forma en Java para construir una instancia de archivo en un recurso recuperado de un jar a través del cargador de clases?Recurso de Java como archivo
Mi aplicación utiliza algunos archivos del jar (predeterminado) o de un directorio del sistema de archivos especificado en el tiempo de ejecución (entrada del usuario). Estoy buscando una manera consistente de
a) carga estos archivos como una corriente
b) se enumeran los archivos en el directorio definido por el usuario o el directorio en el frasco, respectivamente
Editar: Al parecer, el enfoque ideal sería mantenerse alejado de java.io.File por completo. ¿Hay alguna manera de cargar un directorio desde la ruta de clases y enumerar sus contenidos (archivos/entidades contenidos en él)?
Acepto que es molesto, pero hace que ClassLoader sea más extensamente aplicable de otras maneras. Por ejemplo, es fácil escribir un "cargador de clases web" porque la web es buena para buscar archivos, pero normalmente no * lista * archivos. –
Parece que si el recurso que está intentando cargar es mucho más grande que 1Mib, el 'InputStream' que obtiene de' getResourceAsStream' se detiene para recuperar los bytes del recurso después de ese tamaño y en su lugar devuelve 0 iff está contenido en un sistema de archivos comprimido como un jarro Parece que se ve obligado a usar 'getResource' y cargar el archivo independientemente de esto en ese caso. – mgttlinger
@mgttlinger: Eso me parece poco probable ... probablemente valga la pena publicar una nueva pregunta con una repro si puedes. –