Probleme lors d'une copie de fichier

asetti Messages postés 61 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 15 mai 2010 - 12 août 2004 à 16:29
asetti Messages postés 61 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 15 mai 2010 - 13 août 2004 à 09:00
Slt,
j'ai créer ce code juste pour essayer (avant de coder pour de bon) de copier un fichier "C:/a.txt" dans "C:/nn/a.txt".
pour ça et comme je ne maitrise pas mais alors pas du tout la gestion de fichier j'ai chercher des réponses sur le forum.
et j'ai trouvé un code que j'ai repris sci-dessous;
mais voilà j'ai un problème,
JBuilder me dit qu'il est impossible de résoudre le symbole : Classe FileOutput Stream
est ce que quelqu'un peut-il me dire comment faire pour simplement copier
(et si il lui reste de la force peut il me donné le nom de la méthode pour supprimer et renommer)

svp répondez je suis au bord du goufffre. :sad)

MERCI

voici mon code :

package gdeinstall;

import javax.swing.UIManager;
import java.awt.*;
import javax.swing.*;
import java.io.*;
import java.io.FileOutputStream;
import java.util.*;
import java.util.jar.*;
import java.util.zip.*;

/**
* Titre : GDEInstal

* Description : Instal le programme GDE au bon emplacement

* Copyright : Copyright (c) 2004

* Société : Schneider-Electric SAS

* @author SETTI Alexandre
* @version 1.0
*/

public class Install {
boolean packFrame = false;

//Construire l'application
public Install() {
IHM1 frame = new IHM1();
//Valider les cadres ayant des tailles prédéfinies
//Compacter les cadres ayant des infos de taille préférées - ex. depuis leur disposition
if (packFrame) {
frame.pack();
}
else {
frame.validate();
}
//Centrer la fenêtre
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation( (screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
copie();
}

void copie() {
String source = "C:/a.txt";
String cible = "C:/nn/a2.txt";

boolean b = new File("C:/nn").mkdir();
byte[] tampon = new byte[4096];
try {
FileOutputSteam ecriture = new FileOutputStream(cible);
FileInputStream lecture = new FileInputStream(source);

int lu = lecture.read(tampon);
while (lu > 0) {
ecriture.write(tampon, 0, lu);
lu = lecture.read(tampon);
}
lecture.close();
ecriture.close();
}
catch (IOException ioe) {
ioe.printStackTrace();

}
}


//Méthode main
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.
getSystemLookAndFeelClassName());
}
catch (Exception e) {
e.printStackTrace();
}
new Install();
}
}

3 réponses

indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
12 août 2004 à 17:24
Slut,
pour copier, j'sais pô, en revanche pour supprimer et renommer, il faut utiliser la classe File

File f = new File("./repertoire/fichier.txt"); //On même le chemin du fichier

//Renommer
f.renameTo(new File("./repertoire/monfichier.txt")); //Normalement, c'est comme ça

//Effacer
f.delete();


Voilà

[Tout le monde a des idées : la preuve, c'est qu'il y en a de mauvaises]
0
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
12 août 2004 à 17:27
ReSlut

ben en fait, en regardant, j'ai trouvé du code:
import java.awt.*;
import java.io.*;
public class CopieFichier1 {
  public static void main(String[] args)  {
     if (args.length!=2) {
       System.out.println("argument nom_de_fichier !");
       System.exit(0);
     }
     Fichier fichierSource= new Fichier(args[0]);
     Fichier fichierCible= new Fichier(args[1]);
     if (fichierSource.lirePossible()
         && fichierCible.ecrirePossible()) {
       try {
         FileWriter flotEcriture=new FileWriter(fichierCible);
         FileReader flotLecture=new FileReader(fichierSource);
         long longueurFichier= fichierSource.length();
         long dejaLu = 0;
         char car=0;
         while (dejaLu < longueurFichier) {
           car= (char)flotLecture.read();
           dejaLu = dejaLu + 1;
           flotEcriture.write(car);
         }
         flotEcriture.close();
         flotLecture.close();
       } catch (IOException e) {
         System.err.println(" erreur :" + e.toString());
       }    
     } else
       System.out.println(args[0]+" "
                  +fichierSource.proprietes()
                  +"\n"+args[1]+" "
                  +fichierCible.proprietes());
  }
}


Voilà, en espérant qu'il marche

[Tout le monde a des idées : la preuve, c'est qu'il y en a de mauvaises]
0
asetti Messages postés 61 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 15 mai 2010
13 août 2004 à 09:00
Ok merci grace à tes infos je suis arriver à copier et à supprimer les fichiers.
Mais il me reste un problème avec la commande delete.
elle n'efface les repertoire que si ils sont vides et comme je ne saurait pas toujours le nom de tout les fichiers qui sont dedans.
comment faire pour forcer la suppression ou pour avoir une liste des noms des fichiers qu'il contient.
merci d'avance
0
Rejoignez-nous