Comparer 2 répertoires [Résolu]

Messages postés
14
Date d'inscription
lundi 20 octobre 2014
Dernière intervention
29 juin 2016
-
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

4 réponses

Messages postés
14276
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
11 décembre 2018
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
Messages postés
14
Date d'inscription
lundi 20 octobre 2014
Dernière intervention
29 juin 2016
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
Messages postés
14276
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
11 décembre 2018
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
Messages postés
14
Date d'inscription
lundi 20 octobre 2014
Dernière intervention
29 juin 2016
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
Messages postés
14276
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
11 décembre 2018
-
Ce n'est pas vraiment ce qui était demandé au départ, mais si le problème est résolu, c'est nickel!
DeadPool33
Messages postés
14
Date d'inscription
lundi 20 octobre 2014
Dernière intervention
29 juin 2016
-
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.