Répertoire vs DirectoryInfo

Sont-ils équivalents ou alternatifs? Est-ce que l’un d’entre eux est déconseillé et si oui lequel? Lequel est recommandé pour une utilisation dans une application Web ASP.NET. Mon but est d’extraire tous les fichiers d’un répertoire spécifique de manière récursive.

Directory est une classe statique qui fournit des méthodes statiques d’utilisation des répertoires. DirectoryInfo est une instance d’une classe fournissant des informations sur un répertoire spécifique. Ainsi, par exemple, si vous souhaitez obtenir des informations sur C: \ Temp:

var dirInfo = new DirectoryInfo("C:\\Temp"); if (dirInfo.Exists) { FileInfo[] files = dirInfo.GetFiles("*.*", SearchOption.AllDirectories); ... } 

Si vous ne souhaitez que les noms sous forme de chaînes, il peut être plus rapide et plus simple d’éviter de créer une instance de DirectoryInfo à l’aide des méthodes statiques de Directory.

 if (Directory.Exists("C:\\Temp")) { ssortingng[] files = Directory.GetFiles("C:\\Temp", "*.*", SearchOption.AllDirectories); ... } 

En bref, peu importe ce que vous utilisez tant que vous faites ce que vous voulez. Ni est recommandé sur l’autre.

Directory classe de Directory est une classe statique qui peut être utilisée pour créer, déplacer, énumérer des répertoires et des sous-répertoires. La classe DirectoryInfo est également utilisée aux mêmes fins que la classe Directory où ses membres sont des membres d’instance et non de la classe Directory . La principale différence entre les deux réside dans l’utilisation de ces classes. Directory classe de Directory peut être utilisée quand on veut effectuer une simple opération de dossier à la fois. Par exemple, vous devez supprimer le dossier et vous en aller. Cependant, la classe DirectoryInfo est associée à un dossier et vous fournit toutes les opérations pouvant être effectuées sur ce dossier. La classe DirectoryInfo accepte un chemin en tant que paramètre lors de l’instanciation et vous fournit tout le contenu du dossier. Vous pouvez créer des sous-répertoires, déplacer, énumérer, etc. CODEDIGEST

En outre, une remarque importante si vous devez effectuer plusieurs actions sur l’annuaire, DirectoryInfo aura un avantage en termes de performances car il n’exigera pas de vérification des privilèges de sécurité pour chaque action.

Annuaire

  1. Le répertoire est une classe statique.
  2. Cela devrait être utilisé lorsque nous voulons effectuer une opération dans le dossier.
  3. Comme il n’est pas nécessaire de créer un object pour la classe Directory, il n’ya donc pas de surcharge pour l’utiliser.

Répertoire d’informations sur la classe

  1. DirectoryInfo n’est pas une classe statique.
  2. Si l’utilisateur doit effectuer de nombreuses opérations sur un répertoire, comme la création, la suppression, la liste de fichiers, etc., la classe DirectoryInfo doit être utilisée.
  3. Un object distinct est créé pour effectuer toutes les opérations liées à l’annuaire.
  4. Cela est efficace si vous allez effectuer de nombreuses opérations sur le dossier car, une fois que l’object est créé, il contient toutes les informations nécessaires sur le dossier, telles que l’heure de création, l’heure du dernier access et les atsortingbuts. Tous les membres de la classe DirectoryInfo sont des membres d’instance.

DirectoryInfo est (fondamentalement) la classe Directory mais est utilisé dans un contexte non statique. Si vous allez effectuer de nombreux appels sur le système de fichiers, en particulier lorsqu’il s’agit du même dossier ou du sous-répertoire de ce dossier, MSDN suggère d’utiliser DirectoryInfo.

DirectoryInfo a une méthode DirectoryInfo.GetFiles qui répond probablement à vos exigences.