Чтение и запись в тот же файл Excel работает в IDE, а не в JAR - PullRequest
0 голосов
/ 12 июня 2019

Когда я запускаю этот код в IDE NetBeans 8.2, он обновляет файл Excel без происшествий. Однако, когда я собираю JAR, я получаю следующую ошибку при запуске этой части кода: «java.io.FileNotFoundException: file: \ D: \ Projects \ ht \ ht \ dist \ ht.jar! \ HTAlarms_1.xlsx». Он прекрасно читает файл Excel, однако я делаю что-то не так, когда пытаюсь записать файл Excel.

public void setAlarmFileContents() {
    System.out.println("Inside of setAlarmFileContents");
    String fileName = "HTAlarms_1.xlsx";
    ClassLoader classLoader = new ht().getClass().getClassLoader();
    InputStream is = getClass().getClassLoader().getResourceAsStream(fileName);

    try {
        Workbook workbook = WorkbookFactory.create(is);
        Sheet sheet = workbook.getSheetAt(0);

        Row row = sheet.getRow(123);
        Cell cell = row.createCell(2);
        cell.setCellValue("Testing Data Worked inside of IDE");

        is.close();
        System.out.println("Input stream is closed");


        File file = new File(classLoader.getResource(fileName).getFile());
        FileOutputStream outputStream = new FileOutputStream(file);
        workbook.write(outputStream);
        workbook.close();
        outputStream.close();
        System.out.println("Streams closed data set?");


    } catch (IOException | EncryptedDocumentException ex) {
        ex.printStackTrace();
    }
}
...