Java: Gestion de fichiers


http://www.eteks.com/coursjava/io10.html
http://java.developpez.com/faq/java/?page=langage_fichiers

Squelette

import java.io.*;
 
class Classe1
{
  void lireFichier (String fichier)
  {
    try
    {
      // Suite d'instructions accédant au fichier et
      // ne s'occupant pas de la gestion des erreurs
 
      // Tentative d'ouvrir un fichier
 
      // Lecture dans le fichier
    }
    catch (FileNotFoundException e)
    {
      // Exception déclenchée si le fichier n'existe pas
    }
    catch (IOException e)
    {
      // Exception déclenchée si un autre problème survient
      // pendant l'accès au fichier
    }
    finally
    {
      // Le bloc finally est toujours exécuté ce qui permet d'être sûr
      // que la fermeture du fichier sera effectuée
      try
      {
        // Fermeture du fichier si le fichier a été ouvert
      }
      catch (IOException e)
      {
        // Exception déclenchée si un problème survient pendant la fermeture
      }
    }
  }
}

Lecture du fichier et affichage sur l'ecran

import java.io.*;
...

   BufferedReader inTxtFile= null;
   String line;
   String inFilename = "toto.txt";
   try
   {
      inTxtFile= new BufferedReader(new FileReader(inFilename));
      while ((line= inTxtFile.readLine()) != null)
      {
         System.out.println(line);
      }
   }
   catch(FileNotFoundException e)
   {
      System.out.println("Erreur d'ouverture de fichier:"+e);
   }
   catch(IOException e)
   {
      System.out.println("Erreur de fichier:"+e);
   }
   finally
   {
      try
      {
         inTxtFile.close();
      }
      catch(IOException e)
      {
         System.out.println("Erreur de fichier:"+e);
      }
   }

Ecrire un fichier texte en java

      String NomFichier = "toto.txt";
      try
      {
         PrintWriter out  = new PrintWriter(new FileWriter(NomFichier));
        
         out.println("ecrire dans le fichier");
         out.println("That's all folks!");
         out.close();
      }
      catch(Exception e)
      {
         e.printStackTrace();
      }