Leitura / gravação em arquivos de propriedades dentro do arquivo jar

Então, eu estou voltando a escrever Java depois de 4 anos. Por favor, perdoe qualquer erro "novato".

Eu preciso ter um arquivo de propriedades onde eu possa armazenar alguns dados simples para o meu aplicativo. Os dados do aplicativo em si não residem aqui, mas armazenarei informações como o caminho do arquivo até o último armazenamento de dados usado, outras configurações etc.

Eu consegui me conectar ao arquivo de propriedades que existe dentro do mesmo pacote que o arquivo de classe que está tentando se conectar a ele e posso ler o arquivo, mas estou tendo problemas para escrever novamente no arquivo. Tenho certeza de que meu código funciona (pelo menos não está gerando erros), mas a alteração não é refletida no próprio arquivo após o aplicativo ser executado no Netbeans.

Na imagem acima, você pode ver o arquivo mainProperties.properties em questão e a classe tentando chamá-lo (prefManagement.java). Então, com isso em mente, aqui está o meu código para carregar o arquivo:

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!");

}

Isso funciona e eu posso verificar e confirmar a chave existente (defaultXMLPath).

Meu código para adicionar a este arquivo é:

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.");

}

Como mencionei acima, tudo funciona sem erros e posso brincar tentando adicionar a chave existente e lança o erro esperado. Mas, ao tentar adicionar um novo par de chave / valor, ele não aparece no pós-arquivo de propriedades. Por quê?

questionAnswers(3)

yourAnswerToTheQuestion