Les fichiers ne sont pas rincée jusqu'à ce que vous les fermer.
Vous devez modifier votre code pour inclure l'appel à la méthode .close() sur le flux d'entrée de fichier et fermer également le flux de sortie, car la méthode emmène un appel à .flush() mais pas à fermer, de sorte que votre système de fichiers ne sera pas vous montrer les changements:
String username = uName.getText().trim();
String pass = uPass.getText().trim();
// Read properties file.
Properties pro = new Properties();
try {
final FileInputStream fileInputStream = new FileInputStream("conf.properties");
pro.load(new FileInputStream("conf.properties"));
fileInputStream.close();
pro.setProperty("user", username);
pro.setProperty("pass", pass);
String user = pro.getProperty("user");
System.out.println(user);
final FileOutputStream fileOutputStream = new FileOutputStream("conf.properties");
pro.store(fileOutputStream, null);
fileOutputStream.close();
System.out.println("successful .......");
} catch (IOException ex) {
ex.printStackTrace();
}
Il vous suffit d'écrire le code qui extrait les propriétés dans le format que vous souhaitez les stocker. Cela devrait faire l'affaire. (Je l'ai codé directement ici, désolé s'il y a une erreur)
RÉDACTION: Je viens codé, il fonctionne:
public static void main(String[] args) {
String username = "bla";
String pass = "blabla";
// Read properties file.
Properties pro = new Properties();
try {
File file = new File("/tmp/conf.properties");
file.createNewFile();
final FileInputStream fileInputStream = new FileInputStream(file);
pro.load(fileInputStream);
fileInputStream.close();
pro.setProperty("user", username);
pro.setProperty("pass", pass);
String user = pro.getProperty("user");
System.out.println(user);
File toClose = new File("/tmp/conf.properties");
final FileOutputStream fileOutputStream = new FileOutputStream(toClose);
pro.store(fileOutputStream, null);
fileOutputStream.close();
System.out.println("successful .......");
} catch (IOException ex) {
ex.printStackTrace();
}
}
C'est la sortie:
cat /tmp/conf.properties
#Sun Nov 20 18:23:58 CET 2016
user=bla
pass=blabla
Peut-être que la problème réside dans un autre endroit? essayez de le compiler, l'emballage et en cours d'exécution, puis dans le terminal (java jar ...)
Je suppose que le fichier que vous regardez dans l'éditeur est pas celui que vous utilisez pour économiser/chargement. Gardez à l'esprit que votre code utilise un nom de fichier relatif au répertoire de travail actuel de votre programme ... –
exécutez-vous votre programme depuis un IDE? lequel? –
@TimothyTruckle oui dans Netbeans –