2015-03-10 1 views
0

Je suis en train d'écrire un fichier texte dans le dossier racine de mon application avec le code ci-dessousgetExternalFilesDir (null) donne java.io.IOException: système de fichiers en lecture seule

File file = new File(getExternalFilesDir(null), "values.txt"); 

     file.createNewFile(); 

Tout ce que je reçois est java.io.IOException: Système de fichiers en lecture seule

J'ai l'autorisation d'utilisation android: name = "android.permission.WRITE_EXTERNAL_STORAGE" dans le fichier manifeste.

Comment puis-je résoudre ce problème?

Je l'ai essayé sur un émulateur et un nexus 7 et ne peux pas sembler trouver ce qui cause le problème.

Je vois beaucoup de réponses à propos de la remontée de mon système de fichiers, mais je peux m'attendre à ce que tout le monde télécharge l'application pour le faire.

Répondre

0

getExternalFilesDir (null)

réapparaît, le chemin du répertoire contenant les fichiers d'application sur le stockage externe. Renvoie la valeur null si le stockage externe n'est pas monté, de sorte qu'il ne peut pas s'assurer que le chemin existe; vous devrez rappeler cette méthode quand elle sera disponible. Donc, dans votre cas, nous ne savons pas si le stockage externe est monté ou non, mais comme vous voulez mettre le fichier sur le dossier racine de votre application. il suffit d'utiliser getFilesDir(). Il stockera votre fichier dans le stockage interne où vos fichiers d'application sont stockés.

+0

Je dois être en mesure de copier le fichier texte sur un PC, donc je dois utiliser un stockage externe – Skeith

+0

@Skeith - Il suffit donc de vérifier si votre stockage externe n'est pas monté sur votre PC lorsque vous essayez d'exécuter votre application. – user370305

+0

comment je fais ça? – Skeith