File Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Innehåller statiska metoder för skapande, kopiering, borttagning, flytt och öppning av en enda fil och hjälpmedel för att skapa FileStream objekt.
public ref class File abstract sealed
public ref class File sealed
public static class File
public sealed class File
[System.Runtime.InteropServices.ComVisible(true)]
public static class File
type File = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type File = class
Public Class File
Public NotInheritable Class File
- Arv
-
File
- Attribut
Exempel
I följande exempel visas hur du använder File klassen för att kontrollera om en fil finns, och beroende på resultatet skapar du antingen en ny fil och skriver till den eller öppnar den befintliga filen och läser från den. Skapa en c:\temp mapp innan du kör koden.
using System;
using System.IO;
class Test
{
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
if (!File.Exists(path))
{
// Create a file to write to.
using (StreamWriter sw = File.CreateText(path))
{
sw.WriteLine("Hello");
sw.WriteLine("And");
sw.WriteLine("Welcome");
}
}
// Open the file to read from.
using (StreamReader sr = File.OpenText(path))
{
string s;
while ((s = sr.ReadLine()) != null)
{
Console.WriteLine(s);
}
}
}
}
open System.IO
let path = @"c:\temp\MyTest.txt"
if File.Exists path |> not then
// Create a file to write to.
use sw = File.CreateText path
sw.WriteLine "Hello"
sw.WriteLine "And"
sw.WriteLine "Welcome"
// Open the file to read from.
do
use sr = File.OpenText path
let mutable s = sr.ReadLine()
while isNull s |> not do
printfn $"{s}"
s <- sr.ReadLine()
Imports System.IO
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\temp\MyTest.txt"
If File.Exists(path) = False Then
' Create a file to write to.
Using sw As StreamWriter = File.CreateText(path)
sw.WriteLine("Hello")
sw.WriteLine("And")
sw.WriteLine("Welcome")
End Using
End If
' Open the file to read from.
Using sr As StreamReader = File.OpenText(path)
Do While sr.Peek() >= 0
Console.WriteLine(sr.ReadLine())
Loop
End Using
End Sub
End Class
Kommentarer
File Använd klassen för vanliga åtgärder som att kopiera, flytta, byta namn, skapa, öppna, ta bort och lägga till en enskild fil i taget. Du kan också använda File klassen för att hämta och ange filattribut eller DateTime information som rör skapande, åtkomst och skrivning av en fil. Om du vill utföra åtgärder på flera filer kan du läsa Directory.GetFiles eller DirectoryInfo.GetFiles.
Många av File metoderna returnerar andra I/O-typer när du skapar eller öppnar filer. Du kan använda dessa andra typer för att ytterligare manipulera en fil. Mer information finns i specifika File medlemmar som OpenText, CreateTexteller Create.
Eftersom alla File metoder är statiska kan det vara mer effektivt att använda en File metod än en motsvarande FileInfo instansmetod om du bara vill utföra en åtgärd. Alla File metoder kräver sökvägen till filen som du manipulerar.
Klassens File statiska metoder utför säkerhetskontroller på alla metoder. Om du ska återanvända ett objekt flera gånger bör du överväga att använda motsvarande instansmetod FileInfo i stället, eftersom säkerhetskontrollen inte alltid är nödvändig.
Som standard beviljas fullständig läs-/skrivåtkomst till nya filer till alla användare.
I följande tabell beskrivs de uppräkningar som används för att anpassa beteendet för olika File metoder.
| Enumeration | Description |
|---|---|
| FileAccess | Anger läs- och skrivåtkomst till en fil. |
| FileShare | Anger vilken åtkomstnivå som tillåts för en fil som redan används. |
| FileMode | Anger om innehållet i en befintlig fil bevaras eller skrivs över och om begäranden om att skapa en befintlig fil orsakar ett undantag. |
Note
I medlemmar som accepterar en sökväg som en indatasträng måste sökvägen vara väl utformad eller så genereras ett undantag. Om en sökväg till exempel är fullständigt kvalificerad men börjar med ett blanksteg, trimmas inte sökvägen i klassens metoder. Därför är sökvägen felaktigt formaterad och ett undantag utlöses. På samma sätt kan en sökväg eller en kombination av sökvägar inte vara fullständigt kvalificerad två gånger. Till exempel skapar "c:\temp c:\windows" också ett undantag i de flesta fall. Se till att sökvägarna är välformulerad när du använder metoder som accepterar en sökvägssträng.
I medlemmar som accepterar en sökväg kan sökvägen referera till en fil eller bara en katalog. Den angivna sökvägen kan också referera till en relativ sökväg eller en UNC-sökväg (Universal Naming Convention) för en server och ett resursnamn. Till exempel är alla följande godkända sökvägar:
-
"c:\\\MyDir\\\MyFile.txt"i C# eller"c:\MyDir\MyFile.txt"i Visual Basic. -
"c:\\\MyDir"i C# eller"c:\MyDir"i Visual Basic. -
"MyDir\\\MySubdir"i C# eller"MyDir\MySubDir"i Visual Basic. -
"\\\\\\\MyServer\\\MyShare"i C# eller"\\\MyServer\MyShare"i Visual Basic.
En lista över vanliga I/O-uppgifter finns i Vanliga I/O-uppgifter.
Metoder
| Name | Description |
|---|---|
| AppendAllLines(String, IEnumerable<String>, Encoding) |
Lägger till rader i en fil med hjälp av en angiven kodning och stänger sedan filen. Om den angivna filen inte finns skapar den här metoden en fil, skriver de angivna raderna till filen och stänger sedan filen. |
| AppendAllLines(String, IEnumerable<String>) |
Lägger till rader i en fil och stänger sedan filen. Om den angivna filen inte finns skapar den här metoden en fil, skriver de angivna raderna till filen och stänger sedan filen. |
| AppendAllLinesAsync(String, IEnumerable<String>, CancellationToken) |
Lägger asynkront till rader i en fil och stänger sedan filen. Om den angivna filen inte finns skapar den här metoden en fil, skriver de angivna raderna till filen och stänger sedan filen. |
| AppendAllLinesAsync(String, IEnumerable<String>, Encoding, CancellationToken) |
Lägger asynkront till rader i en fil med hjälp av en angiven kodning och stänger sedan filen. Om den angivna filen inte finns skapar den här metoden en fil, skriver de angivna raderna till filen och stänger sedan filen. |
| AppendAllText(String, String, Encoding) |
Lägger till den angivna strängen i filen med den angivna kodningen och skapar filen om den inte redan finns. |
| AppendAllText(String, String) |
Öppnar en fil, lägger till den angivna strängen i filen och stänger sedan filen. Om filen inte finns skapar den här metoden en fil, skriver den angivna strängen till filen och stänger sedan filen. |
| AppendAllTextAsync(String, String, CancellationToken) |
Asynkront öppnar en fil eller skapar en fil om den inte redan finns, lägger till den angivna strängen i filen och stänger sedan filen. |
| AppendAllTextAsync(String, String, Encoding, CancellationToken) |
Asynkront öppnar en fil eller skapar filen om den inte redan finns, lägger till den angivna strängen i filen med den angivna kodningen och stänger sedan filen. |
| AppendText(String) |
Skapar en StreamWriter som lägger till UTF-8-kodad text i en befintlig fil eller till en ny fil om den angivna filen inte finns. |
| Copy(String, String, Boolean) |
Kopierar en befintlig fil till en ny fil. Det är tillåtet att skriva över en fil med samma namn. |
| Copy(String, String) |
Kopierar en befintlig fil till en ny fil. Det är inte tillåtet att skriva över en fil med samma namn. |
| Create(String, Int32, FileOptions, FileSecurity) |
Skapar eller skriver över en fil i den angivna sökvägen, anger en buffertstorlek, alternativ som beskriver hur du skapar eller skriver över filen och ett värde som avgör åtkomstkontroll och granskningssäkerhet för filen. |
| Create(String, Int32, FileOptions) |
Skapar eller skriver över en fil i den angivna sökvägen och anger en buffertstorlek och alternativ som beskriver hur du skapar eller skriver över filen. |
| Create(String, Int32) |
Skapar eller trunkerar och skriver över en fil i den angivna sökvägen och anger en buffertstorlek. |
| Create(String) |
Skapar, eller trunkerar och skriver över, en fil i den angivna sökvägen. |
| CreateText(String) |
Skapar eller öppnar en fil för att skriva UTF-8-kodad text. Om filen redan finns ersätts dess innehåll. |
| Decrypt(String) |
Dekrypterar en fil som krypterades av det aktuella kontot med hjälp av Encrypt(String) metoden . |
| Delete(String) |
Tar bort den angivna filen. |
| Encrypt(String) |
Krypterar en fil så att endast det konto som används för att kryptera filen kan dekryptera den. |
| Exists(String) |
Avgör om den angivna filen finns. |
| GetAccessControl(String, AccessControlSections) |
Hämtar ett FileSecurity objekt som kapslar in den angivna typen av åtkomstkontrollistaposter (ACL) för en viss fil. |
| GetAccessControl(String) |
Hämtar ett FileSecurity objekt som kapslar in poster i åtkomstkontrollistan (ACL) för en angiven fil. |
| GetAttributes(String) |
FileAttributes Hämtar filen på sökvägen. |
| GetCreationTime(String) |
Returnerar skapandedatum och tid för den angivna filen eller katalogen. |
| GetCreationTimeUtc(String) |
Returnerar skapandedatum och tid i Coordinated Universal Time (UTC) för den angivna filen eller katalogen. |
| GetLastAccessTime(String) |
Returnerar datum och tid då den angivna filen eller katalogen senast användes. |
| GetLastAccessTimeUtc(String) |
Returnerar datum och tid, i Coordinated Universal Time (UTC), som den angivna filen eller katalogen senast användes. |
| GetLastWriteTime(String) |
Returnerar datum och tid då den angivna filen eller katalogen senast skrevs till. |
| GetLastWriteTimeUtc(String) |
Returnerar datum och tid, i Coordinated Universal Time (UTC), som den angivna filen eller katalogen senast skrevs till. |
| Move(String, String) |
Flyttar en angiven fil till en ny plats, vilket ger möjlighet att ange ett nytt filnamn. |
| Open(String, FileMode, FileAccess, FileShare) |
Öppnar en FileStream på den angivna sökvägen med det angivna läget med läs-, skriv- eller läs-/skrivåtkomst och det angivna delningsalternativet. |
| Open(String, FileMode, FileAccess) |
Öppnar en FileStream på den angivna sökvägen, med angivet läge och åtkomst utan delning. |
| Open(String, FileMode) |
Öppnar en FileStream på den angivna sökvägen med läs-/skrivåtkomst utan delning. |
| OpenRead(String) |
Öppnar en befintlig fil för läsning. |
| OpenText(String) |
Öppnar en befintlig UTF-8-kodad textfil för läsning. |
| OpenWrite(String) |
Öppnar en befintlig fil eller skapar en ny fil för skrivning. |
| ReadAllBytes(String) |
Öppnar en binär fil, läser innehållet i filen i en bytematris och stänger sedan filen. |
| ReadAllBytesAsync(String, CancellationToken) |
Asynkront öppnar en binär fil, läser innehållet i filen i en bytematris och stänger sedan filen. |
| ReadAllLines(String, Encoding) |
Öppnar en fil, läser alla rader i filen med den angivna kodningen och stänger sedan filen. |
| ReadAllLines(String) |
Öppnar en textfil, läser alla rader i filen och stänger sedan filen. |
| ReadAllLinesAsync(String, CancellationToken) |
Asynkront öppnar en textfil, läser alla rader i filen och stänger sedan filen. |
| ReadAllLinesAsync(String, Encoding, CancellationToken) |
Asynkront öppnar en textfil, läser alla rader i filen med den angivna kodningen och stänger sedan filen. |
| ReadAllText(String, Encoding) |
Öppnar en fil, läser all text i filen med den angivna kodningen och stänger sedan filen. |
| ReadAllText(String) |
Öppnar en textfil, läser all text i filen och stänger sedan filen. |
| ReadAllTextAsync(String, CancellationToken) |
Öppnar asynkront en textfil, läser all text i filen och stänger sedan filen. |
| ReadAllTextAsync(String, Encoding, CancellationToken) |
Asynkront öppnar en textfil, läser all text i filen med den angivna kodningen och stänger sedan filen. |
| ReadLines(String, Encoding) |
Läs raderna i en fil som har en angiven kodning. |
| ReadLines(String) |
Läser raderna i en fil. |
| Replace(String, String, String, Boolean) |
Ersätter innehållet i en angiven fil med innehållet i en annan fil, tar bort den ursprungliga filen och skapar en säkerhetskopia av den ersatta filen och ignorerar eventuellt sammanslagningsfel. |
| Replace(String, String, String) |
Ersätter innehållet i en angiven fil med innehållet i en annan fil, tar bort den ursprungliga filen och skapar en säkerhetskopia av den ersatta filen. |
| SetAccessControl(String, FileSecurity) |
Tillämpar poster i åtkomstkontrollistan (ACL) som beskrivs av ett FileSecurity objekt på den angivna filen. |
| SetAttributes(String, FileAttributes) |
Anger den angivna FileAttributes filen på den angivna sökvägen. |
| SetCreationTime(String, DateTime) |
Anger datum och tid då filen skapades. |
| SetCreationTimeUtc(String, DateTime) |
Anger datum och tid i Coordinated Universal Time (UTC) som filen skapades. |
| SetLastAccessTime(String, DateTime) |
Anger datum och tid då den angivna filen senast användes. |
| SetLastAccessTimeUtc(String, DateTime) |
Anger datum och tid i Coordinated Universal Time (UTC) som den angivna filen senast användes. |
| SetLastWriteTime(String, DateTime) |
Anger datum och tid som den angivna filen senast skrevs till. |
| SetLastWriteTimeUtc(String, DateTime) |
Anger datum och tid, i Coordinated Universal Time (UTC), som den angivna filen senast skrevs till. |
| WriteAllBytes(String, Byte[]) |
Skapar en ny fil, skriver den angivna bytematrisen till filen och stänger sedan filen. Om målfilen redan finns trunkeras den och skrivs över. |
| WriteAllBytesAsync(String, Byte[], CancellationToken) |
Asynkront skapar en ny fil, skriver den angivna bytematrisen till filen och stänger sedan filen. Om målfilen redan finns trunkeras den och skrivs över. |
| WriteAllLines(String, IEnumerable<String>, Encoding) |
Skapar en ny fil med den angivna kodningen, skriver en samling strängar till filen och stänger sedan filen. |
| WriteAllLines(String, IEnumerable<String>) |
Skapar en ny fil, skriver en samling strängar till filen och stänger sedan filen. |
| WriteAllLines(String, String[], Encoding) |
Skapar en ny fil, skriver den angivna strängmatrisen till filen med hjälp av den angivna kodningen och stänger sedan filen. |
| WriteAllLines(String, String[]) |
Skapar en ny fil, skriver den angivna strängmatrisen till filen och stänger sedan filen. |
| WriteAllLinesAsync(String, IEnumerable<String>, CancellationToken) |
Asynkront skapar en ny fil, skriver de angivna raderna till filen och stänger sedan filen. |
| WriteAllLinesAsync(String, IEnumerable<String>, Encoding, CancellationToken) |
Asynkront skapar en ny fil, skriver de angivna raderna till filen med hjälp av den angivna kodningen och stänger sedan filen. |
| WriteAllText(String, String, Encoding) |
Skapar en ny fil, skriver den angivna strängen till filen med den angivna kodningen och stänger sedan filen. Om målfilen redan finns trunkeras den och skrivs över. |
| WriteAllText(String, String) |
Skapar en ny fil, skriver den angivna strängen till filen och stänger sedan filen. Om målfilen redan finns trunkeras den och skrivs över. |
| WriteAllTextAsync(String, String, CancellationToken) |
Asynkront skapar en ny fil, skriver den angivna strängen till filen och stänger sedan filen. Om målfilen redan finns trunkeras den och skrivs över. |
| WriteAllTextAsync(String, String, Encoding, CancellationToken) |
Skapar asynkront en ny fil, skriver den angivna strängen till filen med den angivna kodningen och stänger sedan filen. Om målfilen redan finns trunkeras den och skrivs över. |