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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 !