Чтение / запись в файлы свойств внутри файла jar
Итак, я возвращаюсь к написанию Java через 4 года, поэтому, пожалуйста, прости любые ошибки "новичка".
Мне нужен файл свойств, в котором я могу хранить простые данные для своего приложения. Данные самого приложения здесь не хранятся, но я буду хранить такую информацию, как путь к файлу до последнего использованного хранилища данных, другие настройки и т. Д.
Мне удалось подключиться к файлу свойств, который существует в том же пакете, что и файл класса, пытающийся подключиться к нему, и я могу прочитать файл, но у меня возникают проблемы с записью обратно в файл. Я почти уверен, что мой код работает (по крайней мере, он не выдает никаких ошибок), но это изменение не отражается в самом файле после запуска приложения в Netbeans.
На изображении выше вы видите рассматриваемый файл mainProperties.properties и класс, пытающийся вызвать его (prefManagement.java). Итак, имея в виду, вот мой код для загрузки файла:
Properties mainFile = new Properties();
try {
mainFile.load(prefManagement.class.getClass().getResourceAsStream("/numberAdditionUI/mainProperties.properties"));
} catch (IOException a) {
System.out.println("Couldn't find/load file!");
}
Это работает, и я могу проверить и подтвердить один существующий ключ (defaultXMLPath).
Мой код для добавления в этот файл:
String confirmKey = "defaultXMLPath2";
String propKey = mainFile.getProperty(confirmKey);
if (propKey == null) {
// Key is not present so enter the key into the properties file
mainFile.setProperty(confirmKey, "testtest");
try{
FileOutputStream fos = new FileOutputStream("mainProperties.properties");
mainFile.store(fos, "testtest3");
fos.flush();
}catch(FileNotFoundException e ){
System.out.println("Couldn't find/load file3!");
}catch(IOException b){
System.out.println("Couldn't find/load file4!");
}
} else {
// Throw error saying key already exists
System.out.println("Key " + confirmKey + " already exists.");
}
Как я упоминал выше, все работает без ошибок, и я могу попытаться добавить существующий ключ, и он выдаст ожидаемую ошибку. Но при попытке добавить новую пару ключ / значение она не отображается в слове свойств после слов. Зачем?