2010-07-15 3 views
2

Possible en double:
How to append text to an existing file in JavaComment ajouter une chaîne à la fin d'un fichier .txt?

Comment puis-je ajouter une chaîne à la fin d'un fichier txt?

+1

Au nom de fichier? Ou au contenu du fichier réel? Seriez-vous en mesure de fournir un peu plus de contexte sur ce que vous essayez de faire? –

+2

Pourriez-vous donner un exemple de ce que vous essayez d'atteindre ??? Qu'avez-vous fait jusqu'à présent ??? – pgras

+1

@pgras: votre clé de point d'interrogation semble être bloquée! –

Répondre

5

De here

BufferedWriter bw = null; 

try { 
    bw = new BufferedWriter(new FileWriter("checkbook.txt", true)); 
    bw.write("400:08311998:Inprise Corporation:249.95"); 
    bw.newLine(); 
    bw.flush(); 
} catch (IOException ioe) { 
    ioe.printStackTrace(); 
} finally { // always close the file 
    if (bw != null) { 
     try { 
      bw.close(); 
     } catch (IOException ioe2) { 
      // just ignore it 
     } 
    } 
} 

Comme conseillé par Joachim Sauer, au lieu d'utiliser FileWriter, vous pouvez utiliser

new OutputStreamWriter(new FileOutputStream(..), ecnoding) 

si vous voulez spécifier l'encodage du fichier. FileWriter utilise le codage par défaut, qui passe de l'installation à l'installation.

+3

Allez-vous modifier cela pour au moins utiliser un fichier txt afin qu'il ne regarde pas tellement comme vous la pêche au chalut juste pour tout représentant, vous pouvez obtenir, même si la question ne fait pas beaucoup de sens. – Lazarus

+0

... nouvelle FileWriter (« checkbook.dat », true) -> le second paramètre « true » signifie « append au fichier » ... – pgras

+3

l'aide d'un 'FileWriter' signifie que vous êtes à peu près ignorant toute [problème encodant] (http://www.joelonsoftware.com/articles/Unicode.html], ce qui est une chose dangereuse à faire! –

2

anglais à rechercher: "append"

Vous devez effectuer les étapes suivantes:

  1. ouvrir le fichier.
  2. ajoutez la chaîne.
  3. Fermez le fichier.

En savoir plus sur la classe FileOutputStream.

+1

'FileOutputStream' seul est le mauvais outil quand vous voulez écrire du texte dans un fichier .txt. Vous voudrez utiliser un 'Writer'. Dans ce cas, vous voulez utiliser un 'OutputStreamWriter' enroulé autour d'un' FileOutputStream' (il y a aussi le 'FileWriter', mais il est cassé puisqu'il ne supporte pas [en spécifiant un encodage] (http://www.joelonsoftware.com/ articles/Unicode.html)). –

Questions connexes