Как записать в файл ресурсов Java?(Работает в IDE, но не из файла Jar) - PullRequest
0 голосов
/ 06 июня 2018

В настоящее время я пытаюсь сохранить записи в JComboBox после завершения работы приложения.Первоначально я использовал BufferedWriter / Reader для загрузки / сохранения элементов, которые идут в JComboBox.Этот метод не работал, потому что у файла Jar не было доступа к папке src / после компиляции.Это означало, что при запуске приложения из исполняемого файла JComboBox будет пустым и не сможет сохранять новые элементы.

Мой следующий подход состоял в том, чтобы использовать папку ресурсов и использовать ClassLoader для получения ресурса.К счастью, этот подход работал для READING при запуске из файла JAR, и он работает для чтения и записи в IDE.

Моя проблема заключается в том, что поведение этого приложения отличается при запуске из IDE и из файла JAR,В настоящее время он может читать при запуске из jar, но не может ЗАПИСАТЬ в файл ресурсов.

Вот код для записи в файл ресурсов:

        File file= new File(getClass().getClassLoader().getResource("addresses.txt").toURI());
        FileOutputStream fs = new FileOutputStream(file);
        OutputStreamWriter ow = new OutputStreamWriter(fs);           
        outputWriter = new BufferedWriter(ow);

        for(int i = 0; i < items.length; i++) {
            outputWriter.write(items[i]);
            outputWriter.newLine();
        }
        outputWriter.flush();
        outputWriter.close();
        return true;
    }
...