Rappelons de
la classe FileReader
permet de lire des caractères dans un fichier classe
la classe FileWriter
permet d'écrire des caractères dans un fichier.
Ecrire un programme qui
écrit une chaîne de caractères dans un fichier nommé copie_data.txt
puis copie le fichier data.txt caractère par caractère dans le fichier copie_data.txt.
import java.io.*;
class LireEcrireTexte
{
public static void main(String[] argv) throws IOException
//obligatoire pour les méthodes manipulant les E/S
{
FileReader fin;
FileWriter fout;
int c;
fin = new FileReader("data.txt");
fout = new FileWriter("copie_data.txt");
fout.write("copie de data.txt\n");
while((c = fin.read()) != -1) fout.write(c);
fin.close();
fout.close();
}
}
Pour lire le fichier ligne par ligne, il faut faire appel à
bufferedReader() qui permet de lire une ligne à la fois depuis un fichier
Pour écrire ligne par ligne, il fat faire appel à
bufferedWriter() qui permet d'écrire ligne par ligne dans un fichier
import java.io.*;
class LireEcrireLigne
{
public static void main(String[] argv) throws IOException
{
int c;
int compteur = 0 ;
String ligne;
BufferedReader file_input = new BufferedReader(new FileReader("data.txt"));
BufferedWriter file_output = new BufferedWriter(new FileWriter("file_resultat.txt"));
file_output.write("copie de data.txt\n");
while ((ligne = file_input.readLine()) != null) {file_output.write(ligne );
file_output.newLine() ;
compteur = compteur + 1;
}
file_input.close();
file_output.close();
System.out.println (" nb enregistrement " + compteur);
}}