Partager via


Concepts de base du système de fichiers et des E/S de fichier du .NET Framework (Visual Basic)

Les classes de l’espace de noms System.IO sont utilisées pour travailler avec les lecteurs, les fichiers et les répertoires.

L’espace de noms System.IO contient les classes File et Directory, qui fournissent la fonctionnalité .NET Framework permettant de manipuler des fichiers et des répertoires. Les méthodes de ces objets étant des membres statiques ou partagés, vous pouvez les utiliser directement sans créer d’abord une instance de la classe. Les classes FileInfo et DirectoryInfo, familières aux utilisateurs de la fonctionnalité My, sont associées à ces classes. Pour utiliser ces classes, vous devez qualifier complètement les noms ou importer les espaces de noms appropriés en incluant les instructions Imports au début du code affecté. Pour plus d’informations, consultez Instruction Imports (espace de noms et type .NET).

Notes

Les autres rubriques de cette section utilisent l’objet My.Computer.FileSystem au lieu des classes System.IO pour travailler avec des lecteurs, des fichiers et des répertoires. L’objet My.Computer.FileSystem est destiné principalement à une utilisation dans des programmes Visual Basic. Les classes System.IO sont destinées à être utilisées par tout langage qui prend en charge le .NET Framework, notamment Visual Basic.

Définition d’un flux

Le .NET Framework utilise des flux pour prendre en charge la lecture et l’écriture dans des fichiers. Vous pouvez considérer un flux comme un ensemble unidimensionnel de données contiguës, ayant un début et une fin, et où le curseur indique la position actuelle dans le flux.

Cursor shows current position in the filestream.

Opérations de flux

Les données contenues dans le flux peuvent provenir de la mémoire, d’un fichier ou d’un socket TCP/IP. Des opérations fondamentales peuvent être appliquées aux flux :

  • Lecture. Vous pouvez lire à partir d’un flux, autrement dit transférer des données du flux vers une structure de données, telle qu’une chaîne ou un tableau d’octets.

  • Écriture. Vous pouvez écrire dans un flux, autrement dit transférer des données d’une source de données vers le flux.

  • Recherche. Vous pouvez interroger et modifier votre position dans le flux.

Pour plus d'informations, consultez Composing Streams.

Types de flux

Dans le .NET Framework, un flux est représenté par la classe Stream, qui forme la classe abstraite pour tous les autres flux. Vous ne pouvez pas créer directement une instance de la classe Stream. Vous devez utiliser l’une des classes qu’elle implémente.

Il existe de nombreux types de flux, mais dans le cadre de l’utilisation des entrées/sorties (E/S) de fichiers, les types les plus importants sont la classe FileStream, qui permet de lire et d’écrire dans des fichiers, et la classe IsolatedStorageFileStream, qui permet de créer des fichiers et des répertoires dans un stockage isolé. Voici d’autres flux qui peuvent être utilisés avec les E/S de fichiers :

Le tableau suivant répertorie les tâches couramment accomplies avec un flux :

À Consultez
Lire et écrire dans un fichier de données Procédure : lire et écrire dans un fichier de données créé récemment
Lire du texte dans un fichier Procédure : lire le texte d’un fichier
Écrire du texte dans un fichier Procédure : écrire du texte dans un fichier
Lire les caractères d’une chaîne Procédure : lire les caractères d’une chaîne
Écrire des caractères dans une chaîne Procédure : écrire des caractères dans une chaîne
Chiffrer les données Chiffrement de données
Déchiffrer des données Déchiffrement de données

Accès aux fichiers et attributs

Vous pouvez contrôler la façon dont les fichiers sont créés, ouverts et partagés avec les énumérations FileAccess, FileMode et FileShare, qui contiennent les indicateurs utilisés par les constructeurs de la classe FileStream. Par exemple, quand vous ouvrez ou créez un FileStream, l’énumération FileMode vous permet de spécifier si le fichier est ouvert pour l’ajout, si un fichier est créé si le fichier spécifié n’existe pas, si le fichier est remplacé, et ainsi de suite.

L’énumération FileAttributes vous permet de recueillir des informations propres au fichier. L’énumération FileAttributes retourne les attributs stockés du fichier, par exemple s’il est compressé, chiffré, caché, en lecture seule, s’il s’agit d’une archive, d’un répertoire, d’un fichier système ou d’un fichier temporaire.

Le tableau suivant répertorie les tâches qui impliquent l’accès aux fichiers et les attributs de fichiers :

À Consultez
Ouvrir un fichier journal et y ajouter du texte Procédure : ouvrir un fichier journal et y ajouter des éléments
Déterminer les attributs d’un fichier FileAttributes

Autorisations de fichier

Vous pouvez contrôler l’accès aux fichiers et aux répertoires avec la classe FileIOPermission. Cela peut être particulièrement important pour les développeurs qui travaillent avec des Web Forms, qui s’exécutent par défaut dans le contexte d’un compte d’utilisateur local spécial nommé ASPNET, créé dans le cadre des installations d’ASP.NET et .NET Framework. Quand une telle application demande l’accès à une ressource, le compte d’utilisateur ASPNET dispose d’autorisations limitées, ce qui peut empêcher l’utilisateur d’effectuer des actions telles que l’écriture dans un fichier à partir d’une application web. Pour plus d’informations, consultez FileIOPermission.

Stockage de fichiers isolé

Le stockage isolé est une tentative de résolution des problèmes créés lors de l’utilisation de fichiers, quand l’utilisateur ou le code n’a pas les autorisations nécessaires. Le stockage isolé assigne à chaque utilisateur un compartiment de données qui peut contenir un ou plusieurs magasins. Les magasins peuvent être isolés les uns des autres par utilisateur et par assembly. Seul l’utilisateur et l’assembly ayant créé un magasin y ont accès. Un magasin se comporte comme un système de fichiers virtuel complet : vous pouvez y créer et y manipuler des fichiers et des répertoires.

Le tableau suivant répertorie les tâches couramment associées au stockage de fichiers isolé.

À Consultez
Créer un magasin isolé Procédure : obtenir des magasins pour le stockage isolé
Énumérer les magasins isolés Procédure : énumérer des magasins pour le stockage isolé
Supprimer un magasin isolé Procédure : supprimer des magasins dans le stockage isolé
Créer un fichier ou un répertoire dans un stockage isolé Procédure : créer des fichiers et des répertoires dans un stockage isolé
Rechercher un fichier dans un stockage isolé Procédure : rechercher des fichiers et des répertoires existants dans un stockage isolé
Lire ou écrire dans un fichier dans un stockage isolé Procédure : lire et écrire des fichiers dans un stockage isolé
Supprimer un fichier ou un répertoire dans un stockage isolé Procédure : supprimer des fichiers et des répertoires dans un stockage isolé

Événements de fichiers

Le composant FileSystemWatcher vous permet de surveiller les modifications dans les fichiers et répertoires de votre système ou sur n’importe quel ordinateur auquel vous avez accès par le biais du réseau. Par exemple, si un fichier est modifié, vous souhaiterez peut-être envoyer à un utilisateur une alerte signalant la modification. Quand des modifications se produisent, un ou plusieurs événements sont déclenchés, stockés dans une mémoire tampon et transmis au composant FileSystemWatcher pour traitement.

Voir aussi