Désolé pour le titre ambigu mais je fais ce qui suit pour écrire une simple chaîne dans un fichier:Impossible d'écrire sur la carte SD - canWrite retourne faux
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()){
System.out.println("Can write.");
File def_file = new File(root, "default.txt");
FileWriter fw = new FileWriter(def_file);
BufferedWriter out = new BufferedWriter(fw);
String defbuf = "default";
out.write(defbuf);
out.flush();
out.close();
}
else
System.out.println("Can't write.");
}catch (IOException e) {
e.printStackTrace();
}
Mais root.canWrite()
semble revenir faux à chaque fois . Je ne suis pas en cours d'exécution d'un émulateur, j'ai mon Android Eris branché sur mon ordinateur via USB et l'application hors de mon téléphone via Eclipse. Existe-t-il un moyen de donner la permission à mon application afin que cela n'arrive pas?
En outre, ce code semble être créer le fichier default.txt
mais si elle existe déjà, sera-t ignorer la création et il suffit d'ouvrir pour écrire ou dois-je attraper quelque chose comme FileAlreadyExists
(si une telle exception existe) qui puis ouvre juste et écrit?
Merci pour toute aide les gars.
J'unmout le téléphone de l'ordinateur , mais toujours l'erreur, j'ai ajouté l'autorisation ** WRITE_EXTERNAL_STORAGE ** dans le fichier AndroidManifest.xml, merci d'avance. – twlkyao