Concepts de base du système de fichiers et des E/S de fichier du .NET Framework (Visual Basic)
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. Étant donné que toutes les méthodes de ces objets sont des membres statiques ou partagés, vous pouvez les utiliser directement sans créer d'instance de classe au préalable. Les classes FileInfo et DirectoryInfo sont associées à ces classes qui seront familières aux utilisateurs de la fonctionnalité My. Pour utiliser ces interfaces, vous devez qualifier pleinement 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 Imports, instruction (espace de noms et type .NET).
Définition d'un flux
Le .NET Framework utilise des flux pour prendre en charge la lecture des fichiers et l'écriture dans ces derniers. Vous pouvez considérer un flux comme un ensemble de données contiguës unidimensionnel qui a un début et une fin et dans lequel le curseur indique la position actuelle dans le flux.
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. Il existe des opérations fondamentales qui peuvent s'appliquer aux flux :
Lecture. Vous pouvez lire un flux, en transférant les données du flux vers une structure de données, par exemple une chaîne ou un tableau d'octets.
Écriture. Vous pouvez écrire dans un flux, en transférant des données d'une source de données aux flux.
Recherche. Vous pouvez interroger et modifier votre position dans le flux.
Pour plus d'informations, consultez Composition de flux.
Types de flux
Dans le .NET Framework, un flux est représenté par la classe Stream, qui forme la classe abstraite de tous les autres flux. Vous ne pouvez pas créer directement une instance de la classe Stream, mais vous devez utiliser l'une des classes qu'elle implémente.
Il existe de nombreux types de flux, mais pour les besoins de l'utilisation de l'entrée/sortie (E/S) de fichier, les types les plus importants sont la classe FileStream, qui permet de lire et d'écrire dans les fichiers, et la classe IsolatedStorageFileStream qui permet de créer des fichiers et des répertoires dans un stockage isolé. Les autres flux qui peuvent être utilisés lors de l'utilisation de l'E/S de fichier sont les suivants :
Le tableau suivant répertorie les tâches couramment accomplies avec un flux :
Pour |
Consultez |
Lire et écrire dans un fichier de données |
Comment : lire et écrire dans un fichier de données créé récemment |
Lire dans un fichier XML |
|
Créer un writer de flux afin d'écrire du texte dans un fichier |
|
Lire du texte à partir d'un fichier |
|
Écrire du texte dans un fichier |
|
Lire des caractères à partir d'une chaîne |
|
Écrire des caractères dans une chaîne |
|
Chiffrer des données |
|
Déchiffrer des données |
Accès et attributs de fichier
Vous pouvez contrôler comment les fichiers sont créés, ouverts, et partagés à l'aide des énumérations FileAccess, FileMode et FileShare qui contiennent les indicateurs utilisés par les constructeurs de la classe FileStream. Par exemple, lorsque vous ouvrez ou créez un FileStream, l'énumération FileMode vous permet de spécifier si le fichier est ouvert pour permettre l'ajout, si un fichier est créé lorsque le fichier spécifié n'existe pas, si le fichier est remplacé, etc.
L'énumération FileAttributes permet la collecte d'informations spécifiques au fichier. L'énumération FileAttributes retourne les attributs stockés du fichier suivants : compressé, chiffré, caché, en lecture seule, archive, répertoire, fichier système ou fichier temporaire.
Le tableau suivant répertorie les tâches relatives à l'accès et aux attributs de fichier :
Pour |
Consultez |
Ouvrir et ajouter du texte à un fichier journal |
Comment : ouvrir un fichier journal et y ajouter des éléments |
Déterminer les attributs d'un fichier |
Autorisations de fichier
À l'aide de la classe FileIOPermission, vous pouvez contrôler l'accès aux fichiers et aux répertoires. Cette opération peut s'avérer particulièrement importante pour les développeurs utilisant des Web Forms, qui s'exécutent par défaut dans le contexte d'un compte d'utilisateur local spécial, nommé ASPNET et créé dans le cadre des installations ASP.NET et .NET Framework. Lorsqu'une telle application demande l'accès à une ressource, le compte d'utilisateur ASPNET a des autorisations limitées qui peuvent empêcher l'utilisateur d'exécuter des actions telles que l'écriture dans un fichier à partir d'une application Web. Pour plus d'informations, consultez Autorisations de sécurité, Demande d'autorisations et FileIOPermission.
Le tableau suivant répertorie les tâches relatives aux autorisations de fichier.
Pour |
Consultez |
Demander des autorisations intégrées |
Comment : demander l'autorisation pour un jeu d'autorisations nommé |
Demander des autorisations encodées au format XML |
Stockage de fichiers isolé
Le stockage isolé est une tentative de résoudre les problèmes survenus lors de l'utilisation des fichiers alors que l'utilisateur ou le code n'a peut-être pas les autorisations nécessaires. Le stockage isolé assigne à chaque utilisateur un compartiment de données qui peut contenir plusieurs magasins. Les magasins peuvent être isolés les uns des autres par utilisateur et par assembly. Seul l'utilisateur ou l'assembly qui a créé un magasin peut y accéder. Un magasin se comporte comme un système de fichiers virtuel : dans un magasin, vous pouvez créer et manipuler des répertoires et des fichiers.
Le tableau suivant répertorie les tâches couramment associées au stockage de fichiers isolé.
Pour |
Consultez |
Créer un magasin isolé |
|
Énumérer des magasins isolés |
|
Supprimer un magasin isolé |
|
Créer un fichier ou un répertoire dans un stockage isolé |
Comment : créer des fichiers et des répertoires dans un stockage isolé |
Rechercher un fichier dans un stockage isolé |
Comment : rechercher des fichiers et des répertoires existants dans un stockage isolé |
Lire ou écrire dans un fichier dans un stockage isolé |
|
Supprimer un fichier ou un répertoire dans un stockage isolé |
Comment : supprimer des fichiers et des répertoires dans un stockage isolé |
Événements de fichier
Le composant FileSystemWatcher vous permet de surveiller les modifications dans les fichiers et répertoires de votre système ou d'un ordinateur auquel vous avez un accès réseau. Par exemple, si un fichier est modifié, vous pouvez envoyer une alerte à un utilisateur pour lui signaler que la modification a eu lieu. Lorsque 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
Concepts
Classes utilisées dans les E/S de fichier du .NET Framework et le système de fichiers (Visual Basic)