Bonjour,
Donc, tout d'abord, j'arrive à lire et écrire dans mon fichier mais il se trouve dans le répertoire "data:..."
Le problème est que je ne peux pas l'exporter avec le reste de l'application!
Le fichier est importé via DDMS et tout fonctionne avec l'émulateur. Mais quand j'installe l'application sur le téléphonne, le fichier n'existe plus! quand j'enregistre il est recréé mais, pour info, le fichier dont j'ai besoin est déjà rempli et il comporte +- 500 lignes que je ne recopierai pas à la main!
D'ou ma question comment lire/écrire un fichier déjà existant sous android (en java).
Pour la lecture:
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 try { liste = new ListeProduits(); //lu à partir de data/data etc. InputStream instream = this.openFileInput("monFichier.txt"); InputStreamReader inputreader = new InputStreamReader(instream); BufferedReader buffreader = new BufferedReader(inputreader); StringBuilder out = new StringBuilder(); String line; String tmp; String[] champs = new String[3]; while (( line = buffreader.readLine()) != null) { out = new StringBuilder(); out.append(line); tmp = out.toString(); champs = tmp.split("~"); liste.add(new Produit(champs[0],champs[1],champs[2])); } instream.close(); } catch (Exception e) { Toast.makeText(MainActivity.this,e.getMessage() , Toast.LENGTH_LONG).show(); }
Et pour l'écriture:
Voilà, merci d'avance!
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 FileOutputStream fOut = null; OutputStreamWriter osw = null; try { fOut = openFileOutput("Sogefi.txt",MODE_APPEND); osw = new OutputStreamWriter(fOut); osw.write("y2222~e2~t2" + System.getProperty("line.separator")); osw.flush(); osw.close(); fOut.close(); } catch (Exception e) { Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_LONG).show(); }
Partager