IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Extensions de fichiers


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 48
    Par défaut Extensions de fichiers
    Bonjour,

    Je veux écrire un code qui permet de copier des images qui existent dans un répertoire, voila la partie du code que j'ai écrit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    string[] extension = {"*.JPG","*.bmp","*.avi","*.gif","*.jp2","*.jpg","*.jpeg","*.pvd","*.pct","*.png","*.psd","*.tif"};
                try
                {
                    foreach (string file in Directory.GetFiles(origFile,extension))
                    {
                        FileInfo origFiles = new FileInfo(file);
                        FileInfo destFiles = new FileInfo(file.Replace(origFile, destFile));
                        System.IO.File.Copy(origFiles.FullName, destFiles.FullName, true);
                        status = true;
                    }
    Sauf que l'extension est un tableau et la fonction Directory.GetFiles(origFile,extension) n'accepte pas de tableau comme paramètres, qu'est ce que je dois modifier pour que ça marche ?

    Merci d'avance pour votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    Il me semble que le deuxieme paramètre de Directory.GetFiles(string,string) est une expression régulière.

    Il faut donc que tu fasses quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Directory.GetFiles(dirpath, "^.+[.JPG | .bmp | .avi | .gif | .jp2 | .jpg | .jpeg | .pvd | .pct | .png | .psd | .tif]$")
    A vérifier pour l'expression régulière...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 48
    Par défaut
    Merci pour ta réponse;

    J'ai ajouté ta partie de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach (string file inDirectory.GetFiles(dirpath, "^.+[.JPG | .bmp | .avi | .gif | .jp2 | .jpg | .jpeg | .pvd | .pct | .png | .psd | .tif]$")
    Je n'ai pas d'erreurs mais quand j'exécute le code il me retourne : Caractères non conformes dans le chemin d'accès.

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    en lisant la doc ou un cherchant sur le net, tu verrais que cette question a été maintes fois abordées et que la réponse est simple :

    le GetFiles() ne peut pas filtrer suivant plusieurs critères !!!

    Donc, soit tu fais plusieurs Getfiles() soit tu recupères tous les fichiers et tu filtres ensuite par tes propres moyens

  5. #5
    Membre expérimenté

    Inscrit en
    Septembre 2004
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 105
    Par défaut
    Essaye un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
                string[] extensions = {"*.JPG","*.bmp","*.avi","*.gif","*.jp2","*.jpg","*.jpeg","*.pvd","*.pct","*.png","*.psd","*.tif"};
                try
                {
                    var files = new List<string>();
                    foreach (string extension in extensions)
                        files.AddRange(Directory.GetFiles(origFile, extension));
     
                    foreach (string file in files)
                    {
                        FileInfo origFiles = new FileInfo(file);
                        FileInfo destFiles = new FileInfo(file.Replace(origFile, destFile));
                        System.IO.File.Copy(origFiles.FullName, destFiles.FullName, true);
                        status = true;
                    }

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 48
    Par défaut
    Merci KPixel, ton code marche très bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. extension de fichier
    Par pierrOPSG dans le forum C
    Réponses: 7
    Dernier message: 17/06/2006, 13h47
  2. Extensions de fichiers gérées par Apache
    Par JoN28fr dans le forum Apache
    Réponses: 2
    Dernier message: 03/04/2006, 17h30
  3. Réponses: 2
    Dernier message: 14/11/2005, 18h25
  4. PHP5 et extension de fichiers...
    Par Royd938 dans le forum Langage
    Réponses: 3
    Dernier message: 17/10/2005, 10h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo