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 :
… avec sur mon fichier xml un bouton appelé creation.
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"); } } }; }
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 !
Partager