Bonjour,
J'ai perdu une journée entière à chercher, googler, tester et je commence maintenant à croire que j'ai fait le tour de toutes les solutions possibles...
Je crée une appli qui permet à un utilisateur de traduire un fichier et de sélectionner l'endroit où il souhaite avoir son fichier traduit : C:\\..., Bureau...
Si l'utilisateur crée son fichier traduit à un endroit où il a suffisamment de droits, cela fonctionne parfaitement.
Seulement, dans le cas où l'utilisateur veut créer son fichier à un endroit où il n'a pas les droits suffisants, j'ai plein de lignes d'erreurs, me disant qu'il ne peut pas écrire ici, ce que je veux, c'est afficher simplement un message d'erreur pour avertir l'utilisateur qu'il ne peut pas écrire à cet endroit, et non pas à chercher à lui accorder ou non quelconque droits...
j'ai tenté plusieurs solutions :
- faire un bloc
try{...}catch(FileNotFoundException){...}
, vu que c'était l'intitulé de l'exception affiché
- utiliser la méthode de la classe File, cette méthode retournant un boolean, afin de dire si le fichier peut être écrit ou non.
- créer ma propre méthode qui utilise canWrite :
1 2 3 4 5 6 7 8
| public static boolean testEcriture(File f){
if(f.canWrite()){
return true;
}
else{
return false;
}
} |
Je jugeais cette deuxième et troisième méthode meilleures, mais dans le cas de la troisième méthode, lorsque j'appelle cette méthode à partir de la méthode qui m'intéresse, j'ai toujours un false qui est retourné...qu'il s'agisse d'endroits où l'utilisateur a les droits ou non...
Je suis à l'écoute de toute idée ou aide de votre part,
merci d'avance,
Partager