Problème pour l'écriture de fichier en interne
Bonjour !
J'expérimente en tâtonnant les fonctions d'écriture de fichier : j'ai une activité toute simple comportant un bouton et je voudrais que, lorsque l'utilisateur clique sur ledit bouton, un fichier appelé "Nom du fichier à créer" se crée, avec pour contenu "Contenu du fichier à créer" (admirez l'originalité… :) ).
J'ai écrit le code que voici :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;
import android.app.Activity;
import android.widget.Button;
import android.widget.TextView;
import android.view.View.OnClickListener;
import android.print.*;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
Button bCreation = (Button) findViewById(R.id.creation);
bCreation.setOnClickListener(creation_dun_fichier);
}
View.OnClickListener creation_dun_fichier = new View.OnClickListener() {
@Override
public void onClick(View v) {
String NomDuFluxDuFichierACreer = "Nom du flux du fichier à créer";
String NomDuFichierACreer = "Nom du fichier à créer";
String ContenuDuFichierACreer = "Contenu du fichier à créer";
File FichierACreer = new File(NomDuFichierACreer);
try {
FichierACreer.createNewFile();
}
catch (Exception e) {
System.out.println("Impossible de créer le fichier");
}
try {
FileOutputStream FluxDuFichierACreer = new FileOutputStream(FichierACreer);
try {
FluxDuFichierACreer.write(ContenuDuFichierACreer.getBytes());
}
catch (Exception g) {
System.out.println("Impossible d'écrire dans le fichier");
}
FluxDuFichierACreer.close();
}
catch (FileNotFoundException f) {
System.out.println("Impossible de trouver le fichier");
}
catch (Exception g) {
System.out.println("Impossible de fermer le flux");
}
}
};
} |
… avec sur mon fichier xml un bouton appelé creation.
Lorsque je fais Run, j'obtiens ceci :
05-31 12:40:02.333: I/System.out(1469): Impossible de créer le fichier
05-31 12:40:02.333: I/System.out(1469): Impossible de trouver le fichier
… donc j'en déduis que mes exceptions ont travaillé et que ça n'a pas marché :'(
Quelqu'un pour m'expliquer pourquoi ?
Merci d'avance pour votre aide ! :)