Lectura / escritura en archivos de propiedades dentro del archivo jar

Así que vuelvo a escribir Java después de 4 años, así que por favor perdona cualquier error "novato".

Necesito tener un archivo de propiedades donde pueda almacenar algunos datos simples para mi aplicación. Los datos de la aplicación en sí no residirán aquí, pero almacenaré información como la ruta del archivo al último almacén de datos utilizado, otras configuraciones, etc.

Logré conectarme al archivo de propiedades que existe dentro del mismo paquete que el archivo de clase que intenta conectarse y puedo leer el archivo pero tengo problemas para volver a escribir en el archivo. Estoy bastante seguro de que mi código funciona (al menos no arroja ningún error) pero el cambio no se refleja en el archivo en sí después de que la aplicación se ejecuta en Netbeans.

En la imagen de arriba puede ver el archivo mainProperties.properties en cuestión y la clase que intenta llamarlo (prefManagement.java). Entonces, con eso en mente, aquí está mi código para cargar el archivo:

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

}

Esto funciona y puedo verificar y confirmar la clave existente (defaultXMLPath).

Mi código para agregar a este archivo es:

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 mencioné anteriormente, todo se ejecuta sin errores y puedo jugar tratando de agregar la clave existente y arroja el error esperado. Pero cuando se intenta agregar un nuevo par clave / valor, no aparece en las palabras clave del archivo de propiedades. ¿Por qué?

Respuestas a la pregunta(3)

Su respuesta a la pregunta