Dela via


Grunderna i .NET Framework-fil-I/O och filsystemet (Visual Basic)

Klasser i System.IO namnområdet används för att arbeta med enheter, filer och kataloger.

Namnområdet System.IO innehåller klasserna File och Directory som tillhandahåller .NET Framework-funktioner som manipulerar filer och kataloger. Eftersom metoderna för dessa objekt är statiska eller delade medlemmar kan du använda dem direkt utan att skapa en instans av klassen först. Associerade med dessa klasser är FileInfo klasserna och DirectoryInfo , som är bekanta för användare av My funktionen. Om du vill använda dessa klasser måste du fullständigt kvalificera namnen eller importera lämpliga namnområden genom att inkludera -instruktionen Imports i början av den berörda koden. Mer information finns i Importuttryck (.NET-namnområde och typ).

Kommentar

Andra ämnen i det här avsnittet använder My.Computer.FileSystem objektet i stället för System.IO klasser för att arbeta med enheter, filer och kataloger. Objektet My.Computer.FileSystem är främst avsett för användning i Visual Basic-program. System.IO Klasser är avsedda att användas av alla språk som stöder .NET Framework, inklusive Visual Basic.

Definition av en dataström

.NET Framework använder strömmar för att stödja läsning från och skrivning till filer. Du kan se en ström som en endimensionell uppsättning sammanhängande data, som har en början och ett slut, och där markören anger den aktuella positionen i strömmen.

Cursor shows current position in the filestream.

Stream-åtgärder

Data som finns i dataströmmen kan komma från minne, en fil eller en TCP/IP-socket. Flöden har grundläggande åtgärder som kan tillämpas på dem:

  • Läser. Du kan läsa från en ström och överföra data från dataströmmen till en datastruktur, till exempel en sträng eller en matris med byte.

  • Skriver. Du kan skriva till en dataström och överföra data från en datakälla till dataströmmen.

  • Söker. Du kan fråga och ändra din position i dataströmmen.

Mer information finns i Skapa Flöden.

Typer av Flöden

I .NET Framework representeras en ström av Stream klassen, som utgör den abstrakta klassen för alla andra strömmar. Du kan inte skapa en instans av Stream klassen direkt, men du måste använda någon av de klasser som den implementerar.

Det finns många typer av strömmar, men för att arbeta med filindata/utdata (I/O) är de viktigaste typerna FileStream klassen, vilket ger ett sätt att läsa från och skriva till filer och IsolatedStorageFileStream klassen, vilket ger ett sätt att skapa filer och kataloger i isolerad lagring. Andra strömmar som kan användas när du arbetar med fil-I/O är:

I följande tabell visas uppgifter som vanligtvis utförs med en ström:

Till Gå till
Läsa och skriva till en datafil Anvisningar: Läsa och skriva till en nyligen skapad datafil
Läsa text från en fil Anvisningar: Läsa text från en fil
Skriva text till en fil Anvisningar: Skriva text till en fil
Läsa tecken från en sträng Anvisningar: Läsa tecken från en sträng
Skriva tecken till en sträng Anvisningar: Skriva tecken till en sträng
Kryptera data Kryptera data
Dekryptera data Dekryptera data

Filåtkomst och attribut

Du kan styra hur filer skapas, öppnas och delas med FileAccessFileModeFileShare uppräkningar och uppräkningar som innehåller flaggorna som används av konstruktorerna i FileStream klassen. När du till exempel öppnar eller skapar en ny FileStreamFileMode kan du med uppräkningen ange om filen öppnas för att lägga till, om en ny fil skapas om den angivna filen inte finns, om filen skrivs över och så vidare.

Uppräkningen FileAttributes möjliggör insamling av filspecifik information. Uppräkningen FileAttributes returnerar filens lagrade attribut, till exempel om den är komprimerad, krypterad, dold, skrivskyddad, ett arkiv, en katalog, en systemfil eller en tillfällig fil.

I följande tabell visas uppgifter som rör filåtkomst och filattribut:

Till Gå till
Öppna och lägg till text i en loggfil Anvisningar: Öppna och lägg till i en loggfil
Fastställa attributen för en fil FileAttributes

Filbehörigheter

Du kan styra åtkomsten till filer och kataloger med FileIOPermission klassen. Detta kan vara särskilt viktigt för utvecklare som arbetar med webbformulär, som som standard körs inom ramen för ett särskilt lokalt användarkonto med namnet ASPNET, som skapas som en del av installationerna ASP.NET och .NET Framework. När ett sådant program begär åtkomst till en resurs har ASPNET-användarkontot begränsade behörigheter, vilket kan hindra användaren från att utföra åtgärder som att skriva till en fil från ett webbprogram. Mer information finns i FileIOPermission.

Isolerad fillagring

Isolerad lagring är ett försök att lösa problem som skapas när du arbetar med filer där användaren eller koden kan sakna nödvändiga behörigheter. Isolerad lagring tilldelar varje användare ett datafack som kan innehålla ett eller flera lager. Butiker kan isoleras från varandra av användare och efter sammansättning. Endast användaren och sammansättningen som skapade ett arkiv har åtkomst till det. Ett arkiv fungerar som ett komplett virtuellt filsystem – i ett arkiv kan du skapa och manipulera kataloger och filer.

I följande tabell visas uppgifter som ofta är associerade med isolerad fillagring.

Till Gå till
Skapa ett isolerat arkiv Gör så här: Hämta butiker för isolerad lagring
Räkna upp isolerade butiker Gör så här: Räkna upp lagringslager för isolerad lagring
Ta bort ett isolerat arkiv Gör så här: Ta bort butiker i isolerad lagring
Skapa en fil eller katalog i isolerad lagring Anvisningar: Skapa filer och kataloger i isolerad lagring
Hitta en fil i isolerad lagring Anvisningar: Hitta befintliga filer och kataloger i isolerad lagring
Läsa från eller skriva till en fil i isolerad lagring Anvisningar: Läsa och skriva till filer i isolerad lagring
Ta bort en fil eller katalog i isolerad lagring Anvisningar: Ta bort filer och kataloger i isolerad lagring

Filhändelser

Med FileSystemWatcher komponenten kan du hålla utkik efter ändringar i filer och kataloger i systemet eller på en dator som du har nätverksåtkomst till. Om en fil till exempel ändras kanske du vill skicka en avisering till en användare om att ändringen har ägt rum. När ändringar inträffar utlöses en eller flera händelser, lagras i en buffert och överlämnas till komponenten FileSystemWatcher för bearbetning.

Se även