Bonjour a tous,
voila je voudrait ecrire quelque choses dans un fichier externe que je voudrait stocker dans le dossier Documents de ma tablette, seulement voila j'arrive bien a le faire en interne mais en externe rien ne se crée...
je ne suis pas une béte e programaton mais j'ai suivie un tuto avec le quelle j'ai constitué le code suivent:
est ce que vous avez une idée de mon problème?
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124 import android.content.Intent; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.View; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.InputStream; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.widget.Button; import android.widget.Toast; public class InterOK extends AppCompatActivity { private String PRENOM = "prenom.txt"; private String userName = "titoutou"; private File mFile = null; private File myDir = null; private Button mWrite = null; private Button mRead = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_inter_ok); // On crée un fichier qui correspond à l'emplacement extérieur mFile = new File(Environment.getExternalStorageDirectory().getPath() + "/Documents/" + PRENOM); mWrite = (Button) findViewById(R.id.write); mWrite.setOnClickListener(new View.OnClickListener() { public void onClick(View pView) { try { // Flux interne FileOutputStream output = openFileOutput(PRENOM, MODE_PRIVATE); // On écrit dans le flux interne output.write(userName.getBytes()); if(output != null) output.close(); // Si le fichier est lisible et qu'on peut écrire dedans if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) && !Environment.MEDIA_MOUNTED_READ_ONLY.equals(Environment.getExternalStorageState())) { // On crée un nouveau fichier. Si le fichier existe déjà, il ne sera pas créé mFile.createNewFile(); output = new FileOutputStream(mFile); output.write(userName.getBytes()); if(output != null) output.close(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }); mRead = (Button) findViewById(R.id.read); mRead.setOnClickListener(new View.OnClickListener() { public void onClick(View pView) { try { FileInputStream input = openFileInput(PRENOM); int value; // On utilise un StringBuffer pour construire la chaîne au fur et à mesure StringBuffer lu = new StringBuffer(); // On lit les caractères les uns après les autres while((value = input.read()) != -1) { // On écrit dans le fichier le caractère lu lu.append((char)value); } Toast.makeText(InterOK.this, "Interne : " + lu.toString(), Toast.LENGTH_SHORT).show(); if(input != null) input.close(); if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { lu = new StringBuffer(); input = new FileInputStream(mFile); while((value = input.read()) != -1) lu.append((char)value); Toast.makeText(InterOK.this, "Externe : " + lu.toString(), Toast.LENGTH_SHORT).show(); if(input != null) input.close(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }); } }
ps: j'ai déjà mis ces ligne dans mon manifest
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Partager