Salut Mister Nono,
Merci pour ton conseil.
j'ai donc développé cette petite classe qui est preque prête.
Je cherche donc à créer un fichier nommé toto.txt dans le répertoire Administrateur.
String stgAdmin = "D:\\Documents And Settings\\Administrateur\\toto.txt";
Jusque là, c'est assez simple, mais maintenant je galère !!
Comment retrouver en automatique ce chemin ??
Car mon application s'installera sur des PC différents qui n'auront pas tous le même chemin.
Pour avancer, j'ai essayé de faire un truc un peu tordu :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
// booléan permettant de savoir si nous sommes administrateur ou pas.
// pour cela, nous essayons de créer un fichier dans le répertoire administrateur.
// si OK : alors administrateur, sinon c'est que nous ne sommes pas administrateur
boolean IsAdministrator = true;
//String stgAdmin = "D:\\Documents And Settings\\Administrateur\\toto.txt";
//String stgAdmin = "D:\\toto.txt";
// on récupére la clé APPDATA dans le répertoire Volatile Environment de la base de registre
String stgAdmin_recupchemin = "d:\\Documents And Settings\\p05409\\Application Data";
// on décompose cette cheîne de caractères
String stgAdmin_decompositionchemin[] = stgAdmin_recupchemin.split("\\\\");
// création du chemin du fichier toto.txt dans le répertoire Administrateur
String stgAdmin = "";
for (int i= 0 ; i < stgAdmin_decompositionchemin.length - 2 ; i++)
{
System.out.println(stgAdmin_decompositionchemin[i]);
stgAdmin = stgAdmin + "\\" + stgAdmin_decompositionchemin[i];
}
stgAdmin = stgAdmin + "\\Administrateur\\toto.txt";
// création de ce fichier
File IsAdmin = new File(stgAdmin);
System.out.println(IsAdmin.getAbsolutePath());
try
{
IsAdmin.createNewFile();
}
catch (IOException e)
{
// si création impossible, c'est que nous ne sommes pas administrateur
IsAdministrator = false;
System.out.println("Impossible de créer un fichier dans ce répertoire");
}
finally
{
if (IsAdmin.exists())
{
try
{
// suppression de ce fichier toto.txt s'il a été préalablement créé
IsAdmin.delete();
}
catch (Exception e)
{
System.out.println("Impossible de supprimer le fichier");
}
}
} |
mais comment aller rechercher une clé dans la base de registre ??
La méthode get d'une préférence p va chercher les clés dans le répertoire : HKCU/Software/JavaSoft/Prefs.
comment aller sur un autre répertoire ?
Merci.
1 2 3
|
Preferences p = Preferences.userRoot();
File directory = new File(p.get("pathticketcom", "erreur d'acces")); |
Ritchie.
Partager