Files
SAE31_2025/src/fr/iutfbleau/papillon/UserKey.java
T

52 lines
1.6 KiB
Java
Raw Normal View History

import java.io.*;
import java.util.UUID;
public class UserKey {
/**
Lit la clé stockée dans le fichier ~/.papillon_id
ou en génère une nouvelle si le fichier n'existe pas.
@return La clé utilisateur sous forme de chaîne de caractères
*/
public static String lireOuCreerCle() {
// Récupère le dossier personnel de lutilisateur
String home = System.getProperty("user.home");
File fichier = new File(home, ".papillon_id");
String cle = "";
try {
// Si le fichier existe déjà on lit son contenu
if (fichier.exists()) {
FileReader fr = new FileReader(fichier);
BufferedReader br = new BufferedReader(fr);
cle = br.readLine(); // lit la première ligne (la clé)
br.close();
fr.close();
System.out.println("Clé existante trouvée : " + cle);
}
// Sinon, on génère une nouvelle clé et on l’écrit dans le fichier
else {
cle = UUID.randomUUID().toString(); // Génère une clé unique
FileWriter fw = new FileWriter(fichier);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(cle);
bw.newLine();
bw.close();
fw.close();
System.out.println("Nouvelle clé générée et enregistrée : " + cle);
}
} catch (IOException e) {
System.err.println("Erreur lors de la lecture/écriture du fichier de clé : " + e.getMessage());
}
return cle;
}
}