daviddubois
Messages postés92Date d'inscriptionvendredi 19 mars 2004StatutMembreDernière intervention 6 janvier 2012 8 juil. 2007 à 13:28
Re,
Je viens avec une bonne nouvelle, j'ai trouvé
Il fallait fermer les flux FileReader et FileWriter.
J'ai mis la suppression/renommage dans la méthode main car dans les deux cas, le fichier doit être supprimé et renommé.
Voici le code en entier avec les nouveautés en bleues :
import java.io.*;
public class bidon
{
public static void main (String [] args) throws IOException
{
File f = new File("c:\\bidon.txt");
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
File f2 = new File("c:\\bidon2.txt");
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);
String aRechercher = "SET PATH";
String ligne = "";
int i=-1;
while ((ligne=br.readLine())!=null)
{
System.out.println(ligne);
if (i>-1)
{
ajouterMot();
}
else
{
ajouterPhrase();
}
fw.close();
fr.close();
f.delete();
f2.renameTo(f);
}
public static void ajouterMot()throws IOException
{
File f = new File("c:\\bidon.txt");
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
File f2 = new File("c:\\bidon2.txt");
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);
String aRechercher = "SET PATH";
String ligne = "";
int i=0;
while ((ligne = br.readLine())!=null)
{
System.out.println("ligne vaut "+ligne);
i++;
if (ligne.indexOf(aRechercher)!=-1)
{
ligne+= ";c:\\bidon;";
bw.write(ligne);
bw.newLine();
}
else
{
bw.write(ligne);
bw.newLine();
}
}
System.out.println("i vaut " + i);
bw.close();
br.close();
}
public static void ajouterPhrase() throws IOException
{
File f = new File("c:\\bidon.txt");
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
File f2 = new File("c:\\bidon2.txt");
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);
String aRechercher = "SET PATH";