Estoy usando FlatPack para analizar y cargar datos de archivos sin formato. Esto requiere cargar un archivo de configuración que almacena las asignaciones de las columnas del archivo plano.¿Cómo accedo a un archivo de configuración dentro del contenedor?
que tienen una constante para definir la ubicación del archivo de asignación:
private static final String MAPPING_FILE = "src/com/company/config/Maping.pzmap.xml";
Tengo un análisis sintáctico (ArchivoDeDatos Archivo) método que realmente hace el análisis:
private void parse(File dataFile) throws FileNotFoundException, SQLException {
Parser parser;
log.info("Parsing " + dataFile.getName());
FileReader mappingFileReader = new FileReader(MAPPING_FILE);
FileReader dataFileReader = new FileReader(dataFile);
parser = DefaultParserFactory.getInstance().newFixedLengthParser(mappingFileReader, dataFileReader);
parser.setHandlingShortLines(true);
DataSet dataSet = parser.parse();
//process the data
}
Cuando JAR hasta todo y ejecutarlo como una jarra: explota en FileReader mappingFileReader = new FileReader(MAPPING_FILE);
con un FileNotFoundException
. Ese archivo está dentro del contenedor, sin embargo.
¿Cómo puedo llegar?
He visto this question y this question para acceder a archivos dentro de jar y ambos recomiendan extraer temporalmente el archivo. Aunque no quiero hacer eso.
Eso debería ser "Class.getResourceAsStream()" – mtpettyp
Vaya. Gracias por eso. – skaffman