У меня проблемы с пакетом Maven, Excel и poi.
Я получаю доступ к файлу Excel благодаря коду:
Workbook workbook = WorkbookFactory.create(new File("src/main/resources/file.xlsx"));
Sheet sheet = workbook.getSheet(sheetName);
Этот код работает правильно, и я могу читать данные позже в моем коде.
Вместо «нового файла (..)» я должен использовать приведенный ниже код для доступа к ресурсам в режиме разработки и после создания jar.
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
String path = classLoader.getResource(fileName).toURI().getPath();
Указанный путь находится в "target / classes", и Maven делает "копию" этого файла в папку "myproject / target / classes" текущего проекта (идеально).
Однако файл xslx, скопированный Maven, поврежден, и ни с помощью программного обеспечения Excel я не могу получить доступ к его содержимому. Исходный размер файла составляет 500 КБ, размер копируемого файла - более 1 МБ. (Все остальные файлы img, txt .. хорошо скопированы, за исключением файлов xslx)
Я сделал много поисков, я мог найти некоторые ответы, такие как:
FileInputStream против ClassPathResource против getResourceAsStream и целостность файла
, Я перепробовал все решения, которые мог найти, но не смог найти свое, и всегда получаю одну и ту же ошибку:
InvalidOperationException: Could not open the specified zip entry source stream
Или
java.io.FileNotFoundException: file.xlsx
Из того же способа, что и classLoader, я могу получить доступ к своим файлам json, txt и изображениям.
У кого-то есть ответ на этот вопрос?
Почему Maven удваивает размер файлов xlsx и почему они повреждены?
Любое решение, чтобы решить это?
Мне нужна помощь