Bonjour,
est-ce que quelqu'un pourrait m'indiquer comment insérer une ligne en fin de fichier sans écraser ce qu'il y avait dans ce fichier.
J'ai essayé des tas de trucs mais dsoit ce qui était avant disparaissait, soit ça n'écrivait rien.
Merci
Bonjour,
est-ce que quelqu'un pourrait m'indiquer comment insérer une ligne en fin de fichier sans écraser ce qu'il y avait dans ce fichier.
J'ai essayé des tas de trucs mais dsoit ce qui était avant disparaissait, soit ça n'écrivait rien.
Merci
Bonjour,
Comment écrire à la fin d'un fichier ?
@+
Salut,Envoyé par afrikha
Comment faire pour donner directement le mot qu'il faut ajouter sans passer par la lecture de ce mot a l'ecran
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 byte buffer[] = new byte[60]; int bytes = System.in.read(buffer); FileOutputStream fos = new FileOutputStream("fichier.txt", true); fos.write(buffer, 0, bytes);
Ben il suffit de transformer le mot que tu veux écrire en un tableau de byte puis tu passes ce tableau comme paramètre à la méthode write de FileOutputStream.
ça donne un code qui ressemble à ça :
Voilà, j'espère que c'est assez clair.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 FileOutputStream fos=null String mot="chaine à insérer à la fin du fichier"; try{ fos=new FileOutputStream("fichier.txt", true); byte[] tab=mot.getBytes(); fos.write(tab); }catch(IOException ex){ ex.printStackTrace(); }finally{ if(fos!=null){ fos.close(); } }
@+
Tout cela ne me plait pas trop. En général, pour écrire/lire du texte dans les fichiers, faut passer par les reader/writer ( encodage toussa ).
Tu as raisonEnvoyé par iohack
![]()
D'autant plus que la classe FileWriter possède un constructeur dont un des paramètres indique si oui ou non il faut ajouter le texte à celui déjà existant.
Je rectifie donc mon code :
Pour rappel : il faut utiliser les flux binaires pour les données binaires (images,...) et les flux de caractères pour lire/écrire du texte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 FileWriter fw=null String mot="chaine à insérer à la fin du fichier"; try{ fw=new FileWriter("fichier.txt", true); fw.write(mot,0,mot.length()); }catch(IOException ex){ ex.printStackTrace(); }finally{ if(fw!=null){ fw.close(); } }
@+
Partager