Écrire dans un fichier texte                        

Écrire dans un fichier texte

     

On utilise ici une instance de PrintWriter, dont un constructeur prend en argument un Writer dont la classe BufferedWriter hérite.
Vous pouvez utiliser avec une instance de PrintWriter les méthodes print et println de la même façon qu'avec System.out (qui est de la classe PrintStream). La classe PrintWriter (qui hérite de la classe Writer) ne fait qu'améliorer la classe PrintStream (qui hérite de OutStream).

On aurait pu plus simplement initialiser ecrivain par :

ecrivain = new PrintWriter(new FileWriter(argv[0]));
mais alors les écritures n'utiliseraient pas de mémoire-tampon.
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

class EcrireFichierTexte
{
  public static void main(String[] argv) throws IOException
  {
    PrintWriter ecrivain;
    int n = 5;

    ecrivain =  new PrintWriter(new BufferedWriter
	   (new FileWriter(argv[0])));
   
    ecrivain.println("bonjour, comment cela va-t-il ?");
    ecrivain.println("un peu difficile ?");
    ecrivain.print("On peut mettre des entiers : ");
    ecrivain.println(n);
    ecrivain.print("On peut mettre des instances de Object : ");
    ecrivain.println(new Integer(36));
    ecrivain.close();
  }
} 
Apres execution, le fichier indiqué contient :
bonjour, comment cela va-t-il ?
un peu difficile ?
On peut mettre des entiers 5
On peut mettre des instances de Object : 36

Vous pouvez récupérer ce programme.


© Irène Charon, Télécom ParisTech 2011