Basisbeginselen van .NET Framework-bestands-I/O en het bestandssysteem (Visual Basic)
Klassen in de System.IO naamruimte worden gebruikt om te werken met stations, bestanden en mappen.
De System.IO naamruimte bevat de File en Directory klassen, die de .NET Framework-functionaliteit bieden waarmee bestanden en mappen worden gemanipuleerd. Omdat de methoden van deze objecten statisch of gedeelde leden zijn, kunt u ze rechtstreeks gebruiken zonder eerst een exemplaar van de klasse te maken. Gekoppeld aan deze klassen zijn de FileInfo en DirectoryInfo klassen, die bekend zijn voor gebruikers van de My
functie. Als u deze klassen wilt gebruiken, moet u de namen volledig kwalificeren of de juiste naamruimten importeren door de Imports
instructie(s) aan het begin van de betrokken code op te geven. Zie Importinstructie (.NET-naamruimte en -type) voor meer informatie.
Notitie
In andere onderwerpen in deze sectie wordt het My.Computer.FileSystem
object gebruikt in plaats van System.IO
klassen om te werken met stations, bestanden en mappen. Het My.Computer.FileSystem
object is voornamelijk bedoeld voor gebruik in Visual Basic-programma's. System.IO
klassen zijn bedoeld voor gebruik door elke taal die ondersteuning biedt voor .NET Framework, met inbegrip van Visual Basic.
Definitie van een stream
Het .NET Framework maakt gebruik van streams voor het lezen van en schrijven naar bestanden. U kunt een stroom beschouwen als een eendimensionale set aaneengesloten gegevens, die een begin en een einde heeft, en waarbij de cursor de huidige positie in de stroom aangeeft.
Streambewerkingen
De gegevens in de stream kunnen afkomstig zijn van het geheugen, een bestand of een TCP/IP-socket. Streams hebben fundamentele bewerkingen die erop kunnen worden toegepast:
Lezen. U kunt gegevens uit een stroom lezen en gegevens uit de stroom overbrengen naar een gegevensstructuur, zoals een tekenreeks of een matrix van bytes.
Schrijven. U kunt naar een stroom schrijven en gegevens uit een gegevensbron overbrengen naar de stream.
Op zoek naar. U kunt uw positie in de stream opvragen en wijzigen.
Zie Componeren streams voor meer informatie.
Typen streams
In .NET Framework wordt een stroom vertegenwoordigd door de Stream klasse, die de abstracte klasse vormt voor alle andere streams. U kunt niet rechtstreeks een exemplaar van de Stream klasse maken, maar moet een van de klassen gebruiken die worden geïmplementeerd.
Er zijn veel soorten streams, maar voor het werken met bestandsinvoer/-uitvoer (I/O) zijn de belangrijkste typen de FileStream klasse, die een manier biedt om bestanden en bestanden te lezen en naar bestanden te schrijven, en de IsolatedStorageFileStream klasse, die een manier biedt om bestanden en mappen in geïsoleerde opslag te maken. Andere streams die kunnen worden gebruikt bij het werken met bestands-I/O zijn onder andere:
De volgende tabel bevat taken die vaak worden uitgevoerd met een stream:
Tot | Onderwerp |
---|---|
Lezen en schrijven naar een gegevensbestand | Procedure: lezen en schrijven naar een nieuw gegevensbestand |
Tekst uit een bestand lezen | Procedure: Tekst uit een bestand lezen |
Tekst naar een bestand schrijven | Procedure: Tekst naar een bestand schrijven |
Tekens uit een tekenreeks lezen | Procedure: Tekens uit een tekenreeks lezen |
Tekens schrijven naar een tekenreeks | Procedure: Tekens naar een tekenreeks schrijven |
Gegevens versleutelen | Gegevens versleutelen |
Gegevens ontsleutelen | Gegevens ontsleutelen |
Bestandstoegang en kenmerken
U kunt bepalen hoe bestanden worden gemaakt, geopend en gedeeld met de FileAccess, FileModeen FileShare opsommingen, die de vlaggen bevatten die door de constructors van de FileStream klasse worden gebruikt. Wanneer u bijvoorbeeld een nieuw FileStreambestand opent of maakt, kunt u met de FileMode opsomming opgeven of het bestand wordt geopend voor toevoegen, of er een nieuw bestand wordt gemaakt als het opgegeven bestand niet bestaat, of het bestand wordt overschreven, enzovoort.
De FileAttributes inventarisatie maakt het verzamelen van bestandsspecifieke informatie mogelijk. De FileAttributes opsomming retourneert de opgeslagen kenmerken van het bestand, zoals of het is gecomprimeerd, versleuteld, verborgen, alleen-lezen, een archief, een map, een systeembestand of een tijdelijk bestand.
De volgende tabel bevat taken met betrekking tot bestandstoegang en bestandskenmerken:
Tot | Onderwerp |
---|---|
Tekst openen en toevoegen aan een logboekbestand | Procedure: Openen en toevoegen aan een logboekbestand |
De kenmerken van een bestand bepalen | FileAttributes |
Bestandsmachtigingen
U kunt de toegang tot bestanden en mappen beheren met de FileIOPermission klasse. Dit kan met name belangrijk zijn voor ontwikkelaars die werken met Web Forms, die standaard worden uitgevoerd binnen de context van een speciaal lokaal gebruikersaccount met de naam ASPNET, dat wordt gemaakt als onderdeel van de installaties van ASP.NET en .NET Framework. Wanneer een dergelijke toepassing toegang tot een resource aanvraagt, heeft het ASPNET-gebruikersaccount beperkte machtigingen, waardoor de gebruiker mogelijk geen acties kan uitvoeren, zoals schrijven naar een bestand vanuit een webtoepassing. Zie FileIOPermission voor meer informatie.
Geïsoleerde bestandsopslag
Geïsoleerde opslag is een poging om problemen op te lossen die zijn gemaakt bij het werken met bestanden waarbij de gebruiker of code mogelijk niet over de benodigde machtigingen beschikt. Geïsoleerde opslag wijst elke gebruiker een gegevenscompartiment toe, dat een of meer winkels kan bevatten. Winkels kunnen van elkaar worden geïsoleerd door gebruiker en assembly. Alleen de gebruiker en assembly die een winkel hebben gemaakt, hebben er toegang toe. Een winkel fungeert als een volledig virtueel bestandssysteem. In één archief kunt u mappen en bestanden maken en bewerken.
De volgende tabel bevat taken die vaak zijn gekoppeld aan geïsoleerde bestandsopslag.
Tot | Onderwerp |
---|---|
Een geïsoleerde winkel maken | Procedure: Winkels verkrijgen voor geïsoleerde opslag |
Geïsoleerde winkels opsommen | Procedure: Stores opsommen voor geïsoleerde opslag |
Een geïsoleerd archief verwijderen | Procedure: Winkels verwijderen in Geïsoleerde opslag |
Een bestand of map maken in geïsoleerde opslag | Procedure: Bestanden en mappen maken in Geïsoleerde opslag |
Een bestand zoeken in geïsoleerde opslag | Procedure: Bestaande bestanden en mappen zoeken in geïsoleerde opslag |
Lezen van of schrijven naar een bestand in geïsoleerde opslag | Procedure: Lezen en schrijven naar bestanden in geïsoleerde opslag |
Een bestand of map verwijderen in geïsoleerde opslag | Procedure: Bestanden en mappen verwijderen in Geïsoleerde opslag |
Bestandsevenementen
Met FileSystemWatcher het onderdeel kunt u controleren op wijzigingen in bestanden en mappen op uw systeem of op elke computer waartoe u netwerktoegang hebt. Als een bestand bijvoorbeeld wordt gewijzigd, kunt u een gebruiker een waarschuwing sturen dat de wijziging heeft plaatsgevonden. Wanneer er wijzigingen optreden, worden een of meer gebeurtenissen gegenereerd, opgeslagen in een buffer en aan het FileSystemWatcher onderdeel voor verwerking overgedragen.