FileInputStream vs ClassPathResource vs getResourceAsStream e integridad de archivo
Tengo un extraño problema
in src / main / resources tengo un archivo "template.xlsx".
Si hago esto:
InputStream is = new ClassPathResource("template.xlsx").getInputStream();
O esto
InputStream is = ClassLoader.getSystemResourceAsStream("template.xlsx");
O esto
InputStream is = getClass().getResourceAsStream("/template.xlsx");
Cuando intento crear un libro de trabajo:
Workbook wb = new XSSFWorkbook(is);
Me sale este error:
java.util.zip.ZipException: invalid block type
PERO, cuando obtengo mi archivo así:
InputStream is = new FileInputStream("C:/.../src/main/resources/template.xlsx");
Funciona
Qué está mal ? No puedo codificar la ruta completa al archivo.
Puede alguien ayudarme con esto
Gracia