Module I5 – Java Corrigé TP4 RT
imposée par Java.
Si le fichier n'existe pas, une erreur est générée par Java.
Ne pas oublier pour le flux d'écriture, le paramètre "true" pour ne pas écraser le contenu (voir listing)
Remarque : Java s'avère très pratique concernant la gestion de fichiers, toutefois, s'il est nécessaire de
réaliser une opération spécifique au matériel, il ne s'agit pas du langage le mieux adapté (voir C++, par
exemple)
import java.io.*;
class Fichier {
public static void main (String [] arg) throws IOException {
try {
//** Flux de lecture du fichier
BufferedReader FicIn=new BufferedReader(
new FileReader("test.tp"));
//** Flux d'écriture dans fichier (en fin de fichier)
BufferedWriter FicOut=new BufferedWriter(
new FileWriter("test.tp",true));
// Flux de lecture du clavier
BufferedReader Clavier=new BufferedReader(
new InputStreamReader(System.in));
String s;
boolean fin=false;
System.out.println("Entrez le texte à inclure en fin de fichier :");
System.out.println("-------------------------------------------");
fin=false;
while (!fin) { // Boucle
s=Clavier.readLine(); // Lit le clavier
if (s.length()==0) fin=true; // Test de fin
else {
FicOut.write(s); // Ecriture dans fichier
FicOut.newLine(); // Saut de ligne
}
}
FicOut.close(); // Fermeture flux --> Ecriture
System.out.println("Listing du fichier :");
System.out.println("------------------");
fin=false;
while (!fin) { // Boucle
s=FicIn.readLine(); // Lit le fichier
if (s==null) fin=true; // Test de fin de fichier
else System.out.println(s); // Affichage contenu
}
FicIn.close(); // Fermeture flux
}
catch (IOException e) { // Gestion des erreurs
System.out.println("Erreur :"+e.toString());
}
finally { // Action toujours réalisée
System.out.println("Fin de l'application");
}
}
}
IUT Elbeuf 3 / 3 S.H.