Coipier un fichier dans un répertoire spécifier

Signaler
Messages postés
95
Date d'inscription
dimanche 29 juillet 2007
Statut
Membre
Dernière intervention
27 août 2011
-
 Utilisateur anonyme -
Slt tt le Monde.. mon probléme consiste a réaliser un code pour copier un fichier selectionner dans un JFileChooser dans le répertoire par exemple :   c:\FTHB

j'ai réaliser tt ca et le copiage fonctionne sauf que le fichier est copier dans le repertoir de mon projet!! je sai pas comment faire pour passer en argument le chemin ou bien le répertoire où  le copiage doit etre réaliser!!

quelqu'un peut m'éclairer svp??

3 réponses

Messages postés
95
Date d'inscription
dimanche 29 juillet 2007
Statut
Membre
Dernière intervention
27 août 2011
1
slt , Voilà ma class Copy.java  , ca fonctionne comme j t'ai dis avant mais je dois indiqué le répertoire cible.. et j'ai pas réussi!!

import java.io.File;

public class Copy {
        // Dans le contructeur on va utiliser notre methode copy
        // et donc on vas faire quelques ptit test
        String src,dest;
        File DEST,SRC;
        public Copy (String src, String dest){
                this.src=src;
                this.dest=dest;
                this.SRC = new File (src);
                this.DEST = new File (dest);
                // ben si le rep dest n'existe pas, et notre source est un repertoire
                if (!DEST.exists()){
                        if (SRC.isDirectory()){
                        // Alors on cree un rep destination
                                DEST.mkdir();
                        }
                }
                // Mais si jammais c'est un fichier, on fait un simple copie
                if (SRC.isFile()){
                        copy(SRC, DEST);
                // et si notre source est un repertoire qu'on doit copié!!!
                }else if (SRC.isDirectory()){
                // on parcour tout les elements de ce catalogue,
                        File f=new File("biboo");
                        // et hop on fait un appel recursif a cette classe en mettant a jour les path de src et dest: et le tour est joué
                                new Copy(f.getAbsolutePath(),DEST.getAbsoluteFile()+"/"+f.getName());
                        }
                }

        /** copie le fichier source dans le fichier resultat
         * retourne vrai si cela réussit
         */
        private boolean copy( File source, File destination )
        {
                boolean resultat = false;

                //Déclaration des stream d'entree sortie
                java.io.FileInputStream sourceFile=null;
                java.io.FileOutputStream destinationFile=null;

                try {
                        // Création du fichier :
                        destination.createNewFile();

                        // Ouverture des flux
                        sourceFile = new java.io.FileInputStream(source);
                        destinationFile = new java.io.FileOutputStream(destination);

                        // Lecture par segment de 0.5Mo
                        byte buffer[]=new byte[512*1024];
                        int nbLecture;

                        while( (nbLecture = sourceFile.read(buffer)) != -1 ) {
                                destinationFile.write(buffer, 0, nbLecture);
                        }

                        // si tout va bien
                        resultat = true;
                } catch( java.io.FileNotFoundException f ) {

                } catch( java.io.IOException e ) {

                } finally {
                        // Quelque soit on ferme les flux
                        try {
                                sourceFile.close();
                        } catch(Exception e) { }
                        try {
                                destinationFile.close();
                        } catch(Exception e) { }
                }
                return( resultat );
        }
}

Bonjour

Passe un chemin absolu quand tu utilises le constructeur de la classe File soit sous forme de chaîne de caractère, soit sous forme d'URI, va voir la documentation Java, la réponse se trouve là-dedans. Il me semble que tu dois faire une mauvaise manipulation à la sortie du JFileChooser et que du coup, ton chemin est interprété comme chemin relatif à ton projet.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java

Utilise getAbsolutePath() et non getAbsoluteFile() dans ton constructeur selon moi.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java