L'écriture de fichier texte sur la carte SD échoue
J'ai un étrange problème que j'ai rencontré. Mon application peut écrire un simple texte sur la Carte SD et parfois cela fonctionne pour certaines personnes mais pas pour d'autres et je n'ai aucune idée pourquoi.
Pour certaines personnes, elle se ferme si l'on met certains personnages comme ...
dans le Fichier, par exemple. Je n'arrive pas à reproduire ce que je n'ai pas eu d'ennuis, mais c'est le code qui gère l'écriture de Fichier. Quelqu'un peut-il penser à quelque chose qui peut conduire à des problèmes ou à une meilleure façon de le faire?
public void generateNoteOnSD(String sFileName, String sBody)
{
try
{
File root = new File(Environment.getExternalStorageDirectory(), "Notes");
if (!root.exists())
{
root.mkdirs();
}
File gpxfile = new File(root, sFileName);
FileWriter writer = new FileWriter(gpxfile);
writer.append(sBody);
writer.flush();
writer.close();
Toast.makeText(this, "Saved", Toast.LENGTH_SHORT).show();
}
catch(IOException e)
{
e.printStackTrace();
importError = e.getMessage();
iError();
}
}
source d'informationauteur Paul
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser cette méthode pour vérifier de sdCard état. Changer le toast boîte de dialogue pour vous langue:
** Entretien avec MEDIA_MOUNTED_READ_ONLY. Pas besoin d'écrire dans la carte sd et je retourne true **
Êtes-vous vérifier que le stockage externe est accessible en écriture? Si non, alors essayez d'utiliser...
C'est vous dire si la carte SD est montée et vous pouvez également vérifier si il est accessible en écriture. C'est tout ce que je peux penser à suggérer à ce point.
Je viens de constater que dans mon cas, j'ai été absent de l'ajout
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
dans le fichier de Manifeste.Acclamations,
wahib
Pour tous les collègues débutants y débogage sur un périphérique via le port USB: N'oubliez pas de débrancher le câble USB de votre dev PC, comme je l'ai fait. Lorsque l'USB est connecté à la carte SD n'est pas disponible. Heureux d'écriture de fichier...
Ce n'est pas correct sur tous les téléphones/ROM construit. CMod7 et la ROM MIUI vous permettent de définir si la carte SD est montée ou pas lorsqu'il est branché dans le PC, en fonction de vos réglages ci-dessus peut également être vrai. Préférable de vérifier.
J'ai l'habitude d'utiliser PrintWriter plutôt que FileWriter. Je ne sais pas si il permettrait de résoudre votre problème, mais c'est d'un niveau plus élevé de sorte qu'il peut prendre en charge plus de choses qu'un simple FileWriter.