Récupération des noms des fichiers dans un dossier

Mise à jour : novembre 2007

Dans cette leçon, vous apprendrez à récupérer les noms des fichiers d'un dossier à l'aide de l'My.Computer.FileSystem, objet.

Un dossier est une zone de Microsoft Windows dans laquelle vous pouvez stocker vos fichiers. Microsoft Windows possède quelques dossiers spéciaux qui vous aident à organiser les fichiers par catégories, telles que les documents, les images et les fichiers musique.

Remarque :

Dans Windows XP, ces dossiers sont nommés MyDocuments, MyPictures et MyMusic. Dans Windows Vista, le nom de ces dossiers ne comporte pas « My » ; à la place, ils sont nommés Documents, Pictures et Music. Toutefois, le code de cette leçon s'exécutera sur Windows XP et Windows Vista.

Dans cette leçon, vous créerez une application Visionneuse d'images dans laquelle vous pouvez afficher des fichiers image trouvés dans le dossier Pictures. Lorsque vous sélectionnez un élément dans une ListBox, le graphique correspondant s'affiche dans un contrôle PictureBox.

Obtention de fichiers

Vous pouvez vérifier l'existence d'un fichier à l'aide de la My.Computer.FileSystem.FileExists, méthode et en spécifiant le chemin d'accès au dossier et le nom de fichier.

Si vous souhaitez récupérer les noms de tous les fichiers d'un dossier, vous pouvez utiliser l'objet My pour obtenir une collection de tous les fichiers qui résident dans un dossier en particulier. Vous pouvez également rechercher un fichier qui possède un nom unique en spécifiant un modèle.

Utilisez la My.Computer.FileSystem.GetFiles, méthode pour retourner les fichiers du dossier spécifié. Vous pouvez passer de manière facultative une liste de caractères génériques pour indiquer un modèle des fichiers que vous souhaitez retourner. Par exemple, vous pouvez récupérer les noms de tous les fichiers GIF (Graphics Interchange Format) en indiquant que les fichiers doivent avoir une extension (* .gif *). Vous pouvez ajouter plus de types de format graphique, tels que le format JPEG (Joint Photographic Experts Group) en indiquant l'extension (* .jpg *) et en séparant les extensions par une virgule.

Vous pouvez spécifier un dossier spécial, tel que Pictures à l'aide de l'My.Computer.FileSystem.SpecialDirectories, objet. Il retourne le nom de chaque fichier, chemin complet inclus. Vous pouvez alors faire une boucle à travers les noms de fichier retournés et ajouter chacun à la ListBox.

Essayez !

Pour créer l'interface utilisateur de l'application (IU)

  1. Dans le menu Fichier, cliquez sur NouveauProjet.

  2. Dans le volet Modèles de la boîte de dialogue Nouveau projet, cliquez sur Application Windows.

  3. Dans la zone Nom, tapez Picture Viewer, puis cliquez sur OK.

    Un nouveau projet Windows Forms s'ouvre.

  4. Cliquez sur le formulaire et modifiez les propriétés suivantes dans la fenêtre Propriétés :

    Propriété

    Valeur

    Texte

    Visionneuse d'images

    Taille

    400, 472

  5. Ajoutez un contrôle ListBox au formulaire en conservant le nom par défaut, ListBox1.

  6. Cliquez sur la Zone de liste et modifiez les propriétés suivantes :

    Propriété

    Valeur

    HorizontalScrollBar

    True

    Taille

    370, 82

  7. Ajoutez un contrôle PictureBox au formulaire, en conservant le nom par défaut PictureBox1.

  8. Cliquez sur le contrôle PictureBox et modifiez les propriétés suivantes :

    Propriété

    Valeur

    BorderStyle

    FixedSingle

    SizeMode

    StretchImage

    Taille

    370, 285

  9. Ajoutez un contrôle Button au formulaire.

  10. Modifiez les propriétés suivantes du Bouton :

    Propriété

    Valeur

    Nom

    LoadPictures

    Texte

    Charger les images

    Taille

    80, 23

Une fois l'interface utilisateur de la Visionneuse d'images créée, vous pouvez écrire le code pour récupérer les noms de fichier.

Pour récupérer des noms de fichier

  1. Double-cliquez sur le bouton Charger les images pour ouvrir le gestionnaire d'événements par défaut dans l'éditeur de code.

  2. Dans le gestionnaire d'événements LoadPictures_Click, ajoutez le code suivant pour récupérer tous les fichiers GIF et JPEG du dossier Pictures et afficher leur nom dans la zone de liste. Ce code spécifie qu'il ne faut pas rechercher dans les sous-dossier du dossier Pictures en indiquant l'option de recherche SearchTopLevelOnly.

    ' Clear the list box and the picture box.
    Me.ListBox1.Items.Clear()
    Me.PictureBox1.ImageLocation = ""
    
    ' Add each image in the Pictures directory to list box.
    For Each foundImage As String In _
        My.Computer.FileSystem.GetFiles( _
        My.Computer.FileSystem.SpecialDirectories.MyPictures, _
        FileIO.SearchOption.SearchTopLevelOnly, "*.gif*", "*.jpg*")
    
        Me.ListBox1.Items.Add(foundImage)
    Next
    
  3. Ajoutez le code suivant pour afficher un message à l'utilisateur s'il n'y a pas d'images dans le dossier Pictures.

    If Me.ListBox1.Items.Count < 1 Then
        MsgBox("There are no JPEG or GIF images in" _
        & " the Picture folder.")
    End If
    
  4. Appuyez sur F5 pour exécuter le programme.

  5. Lorsque le formulaire s'affiche, cliquez sur le bouton Charger les images.

    Le nom de fichier et le chemin d'accès de chaque fichier GIF ou JPEG du répertoire Pictures sont affichés dans la zone de liste.

  6. Fermez l'application Visionneuse d'images.

Dans cet exemple, le chemin d'accès aux fichiers du répertoire Pictures est long et vous devrez faire défiler vers la droite pour voir les vrais noms de fichier. Vous pourriez également analyser chaque chaîne en séparant le chemin d'accès au dossier du nom de fichier. Pour plus d'informations, consultez Présentation détaillée : analyse des chemins de fichiers.

Affichage des images

L'ajout des noms de fichier à la zone de liste serait plus intéressant si vous pouviez également visionner chaque image. Dans cette procédure, vous écrirez du code dans le gestionnaire d'événements SelectedIndexChanged de ListBox1 pour afficher l'image sélectionnée dans la PictureBox.

Pour afficher les images

  1. Dans la liste déroulante Nom de la classe de l'éditeur de code, cliquez sur ListBox1.

  2. Dans la liste déroulante Nom de la méthode, cliquez sur SelectedIndexChanged pour créer le gestionnaire d'événements.

  3. Dans le gestionnaire d'événements ListBox1_SelectedIndexChanged, ajoutez le code suivant pour afficher l'image sélectionnée.

    Me.PictureBox1.ImageLocation = Me.ListBox1.SelectedItem
    
  4. Appuyez sur F5 pour exécuter le programme.

  5. Cliquez sur le bouton pour charger les fichiers à partir du répertoire Pictures, puis cliquez sur un nom de fichier dans la zone de liste. Chaque fois vous cliquez sur un élément de la liste, une nouvelle image s'affiche.

  6. Fermez l'application Visionneuse d'images et enregistrez votre projet. Vous utiliserez ce projet dans la leçon suivante.

Étapes suivantes

Dans cette leçon, vous avez appris à récupérer des noms de fichier d'un dossier et à les afficher sur un Windows Form. Dans la leçon suivante, vous apprendrez à enregistrer des noms de fichier dans un fichier texte. Vous pouvez également en apprendre plus sur l'analyse de noms de fichier dans Présentation détaillée : analyse des chemins de fichiers.

Leçon suivante : Écriture dans un fichier texte

Voir aussi

Concepts

Développement avec My

Autres ressources

Utilisation du système de fichiers : écriture et lecture des fichiers

Visite guidée de Visual Basic