2017-10-16 2 views
1

J'ai essayé d'écrire dans un fichier dans Android. Cela ne fonctionne pas et ne crée même pas de fichier. Il exécute toujours le bloc catch. Voici la partie de mon programme.Écrire dans le fichier ne fonctionne pas dans Android

private void write(){ 
    try { 
     FileWriter fileWriter = new FileWriter("C:\\Users\\Administrator\\AndroidStudioProjects\\SunCalculator\\app\\src\\main\\res\\raw\\au_locations.txt"); 
     Log.e("Data","path detected"); 
     BufferedWriter bfWriter = new BufferedWriter(fileWriter); 
     bfWriter.write("Text Data"); 
     bfWriter.close(); 
     Log.e("Data","worked"); 
    } catch (IOException e) { 
     e.printStackTrace(); 
     Log.e("Data","not worked"); 
    } 
} 

J'ai essayé aussi de créer un objet File et le passage au constructeur FileWriter. Aucun d'entre eux a travaillé. J'utilise Android Studio 2.3.3

+0

Les questions sont les suivantes: d'où ce qui est un message d'erreur et est 'exécuter ce code vous, C: \ Users \ Administrator' est d'écrire -activée. –

+1

Votre périphérique/émulateur Android ne possède pas de lecteur C :. De plus, vous ne pouvez pas écrire sur des ressources lors de l'exécution, si c'est ce que vous essayez. –

+0

Vous devez obtenir quelques exceptions et l'afficher ici serait sûrement utile. –

Répondre

0

Vous essayez d'écrire un fichier dans l'emplacement C:\\Users.... qui est la structure de répertoires de Windows OS.

Mais Android est construit sur Linux OS. Pour obtenir l'utilisateur répertoire inscriptible dans Android, vous devez utiliser Environment.getExternalStorageDirectory() comme ci-dessous:

File file = new File(Environment.getExternalStorageDirectory(), filename); 
+0

Merci. Cela fonctionne maintenant. – 117788