Copier un fichier.txt dans un autre

Résolu
amylee1984 Messages postés 153 Date d'inscription mardi 1 novembre 2005 Statut Membre Dernière intervention 20 août 2006 - 10 juin 2006 à 03:54
amylee1984 Messages postés 153 Date d'inscription mardi 1 novembre 2005 Statut Membre Dernière intervention 20 août 2006 - 10 juin 2006 à 04:52
salut ,je developpe un petit programme et j'ai un probleme au niveau de la modification je m'explique: j'ai des information que j'ai ecris sur un fichier text (Etudiant.txt) je fais mes modification sur les informations et là j'enregistre tout les info dans un autre fichier text (Etudiant_modifier.txt) avec mes modification, bref  "etudiant.txt" reste tel qu"il est et "etudiant_modifier.txt" contient les info modifier.jusque l'as tout va bien
mais ce que je veux faire mnt c'est copier le contenu de "etudiant_modifier.txt" dans "etudiant.txt".
voila j'ai fais ce bout de code et je recois pas d'erreur mais la copie se fais pas.

package Masource;
import java.io.*;
import java.util.*;
import java.lang.*;
public class Modification{
 public static void modification()
 {
  try
  {
  File  f1=new File("etudiant.txt");
  FileInputStream fich=new FileInputStream(f1);
  ObjectInputStream out=new ObjectInputStream(fich);
  
  File  f2=new File("etudiant_modifier.txt");
  FileOutputStream fich2=new FileOutputStream(f2);
  ObjectOutputStream out2=new ObjectOutputStream(fich2);
  
  
  System.out.println("entrez un numéro:");
     String snum=lecture.lireString();
        int nmm=lecture.ConvertStringInt(snum);
       
  EtudiantT s;
    while((s = (EtudiantT)out.readObject())!=null)
    { 
     if (nmm==s.Numero())
        {
      s.Affichage();
      System.out.println("entrez un nom:");
      String sn=lecture.lireString();
            s.NomEtud(sn);
      out2.writeObject(s);
     }
          else
          {
           out2.writeObject(s);
          }
    }
         out.close();
         out2.close();
         
     File  f10=new File("etudiant.txt");
  FileInputStream fich10=new FileInputStream(f10);
  ObjectInputStream out10=new ObjectInputStream(fich10);
  
  File  f20=new File("etudiant_modifier.txt");
  FileOutputStream fich20=new FileOutputStream(f20);
  ObjectOutputStream out20=new ObjectOutputStream(fich20);
  EtudiantT sss;
  while((sss = (EtudiantT)out10.readObject())!=null)
  {
   out20.writeObject(sss);
  }
  out10.close();
  out20.close();
 
  } 
        catch (java.io.IOException IOE) { }
              catch (ClassNotFoundException cnfe) { }
     }
     }
merci d'avance

1 réponse

amylee1984 Messages postés 153 Date d'inscription mardi 1 novembre 2005 Statut Membre Dernière intervention 20 août 2006 3
10 juin 2006 à 04:52
salut , je viens de resoudre ce probleme mais je sais pas ou etait le souci lol : j'ai crée un classe pour faire la copie au lieu de mettre le code directement ( le meme code que j'avais sur la classe modification , je l'ai mis dans une classe "copier" et je l'ai appler dans un finaly)

public class copier{
 public static void copiefile() throws IOException
 {
  try
  {
  File  f1=new File("etudiant2.txt");
  FileInputStream fich=new FileInputStream(f1);
  ObjectInputStream out=new ObjectInputStream(fich);
  
  File  f2=new File("etudiant.txt");
  FileOutputStream fich2=new FileOutputStream(f2);
  ObjectOutputStream out2=new ObjectOutputStream(fich2);
  
  EtudiantT s;
  while((s = (EtudiantT)out.readObject())!=null)
  {
   out2.writeObject(s);
  }
  out.close();
  out2.close();
  }
  catch (java.io.IOException IOE) { }
              catch (ClassNotFoundException cnfe) { }
  }
     }

// appele dans la classe modification
  finally    
{
    copier.copiefile();
}

ca marche nickel mais ou etait le probleme à votre avis
3
Rejoignez-nous