Comparer 2 répertoires [Résolu]

DeadPool33 14 Messages postés lundi 20 octobre 2014Date d'inscription 29 juin 2016 Dernière intervention - 20 oct. 2014 à 17:22 - Dernière réponse : DeadPool33 14 Messages postés lundi 20 octobre 2014Date d'inscription 29 juin 2016 Dernière intervention
- 20 oct. 2014 à 20:50
Bonjour,
Bonjour,
je veux comparer deux répertoires et copier les fichiers du premier dans le deuxième.

j'ai chercher comment faire mais sans succès. Voici un exemple de l'abre des fichiers à comparer

F1
sub1
file1
sub2
file2

je voudrais les copiers dans un autre répertoire s'il ne sont pas déjà inclus dans celui-ci

merci.
Afficher la suite 

Votre réponse

6 réponses

BunoCS 14176 Messages postés lundi 11 juillet 2005Date d'inscriptionModérateurStatut 19 octobre 2018 Dernière intervention - 20 oct. 2014 à 17:44
0
Merci
Hello,

j'ai chercher comment faire mais sans succès.

Montres-nous ce que tu as fait et nous essayerons de t'aider...
Commenter la réponse de BunoCS
DeadPool33 14 Messages postés lundi 20 octobre 2014Date d'inscription 29 juin 2016 Dernière intervention - Modifié par BunoCS le 20/10/2014 à 20:32
0
Merci
bonjour j'ai une fonction qui fonctionne mais beaucoup trop dégeux pour montrer mais voici une partie de la fonction récursive que je travail présentement... Ce n'est qu'un début je ne suis pas sur de ce que je fai fait mais bon...
File dir1 = new File(""C:\\Temp\dir1");
File dir2 = new File(""C:\\Temp\dir2");
public void do(File file){
        File[] files= file.listFiles();
        for(File file : files){
            if(file.isDirectory()){
               do(file)
            }
            else{
             //compare
             }
        }
    }
Commenter la réponse de DeadPool33
BunoCS 14176 Messages postés lundi 11 juillet 2005Date d'inscriptionModérateurStatut 19 octobre 2018 Dernière intervention - 20 oct. 2014 à 18:33
0
Merci
Il te faut 2 fonctions:
- une pour parcourir un dossier, dir1 par exemple (ce que tu as commencé à faire)
- une pour vérifier qu'un fichier est présent ou non dans un répertoire

La 2e, il faudra l'appeler dans ton code "compare" et suivant le résultat, tu devra copier ou non le fichier
Commenter la réponse de BunoCS
DeadPool33 14 Messages postés lundi 20 octobre 2014Date d'inscription 29 juin 2016 Dernière intervention - Modifié par BunoCS le 20/10/2014 à 20:32
0
Merci
Ce que je voulais faire était de copier des images réduites dans un autre répertoire..

j'ai finallement réussit avec une fonction récursive et voici mon code pour les intéressé:
public static void reduirePhoto(File repCourant, File repDestination){
        File[] photos = repCourant.listFiles();
        for(File fichier : photos){
            if(fichier.isDirectory()){
                File[] dir = repDestination.listFiles();
                for(File f : dir){
                    if(f.getName().equals(fichier.getName())){
                        reduirePhoto(fichier,f);
                    }
                }
            }
            else{
                try{
                    String dir = repDestination.getAbsolutePath() + "\\" + fichier.getName();

                    BufferedImage originalImage = ImageIO.read(fichier);
                    BufferedImage scaledImg = Scalr.resize(originalImage, Scalr.Method.QUALITY, 600, 400);
                    ImageIO.write(scaledImg, "jpg", new File(dir));
                }
                catch(Exception e){
                    e.getMessage();
                }
            }
        }
    }
BunoCS 14176 Messages postés lundi 11 juillet 2005Date d'inscriptionModérateurStatut 19 octobre 2018 Dernière intervention - 20 oct. 2014 à 20:31
Ce n'est pas vraiment ce qui était demandé au départ, mais si le problème est résolu, c'est nickel!
DeadPool33 14 Messages postés lundi 20 octobre 2014Date d'inscription 29 juin 2016 Dernière intervention - 20 oct. 2014 à 20:50
En fait oui car j'utilise ce que j'avais demander pour permettre de modifier les photos ;)
Commenter la réponse de DeadPool33

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.