FileInfo 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 egenskaper och instansmetoder för att skapa, kopiera, ta bort, flytta och öppna filer och underlätta skapandet av FileStream objekt. Det går inte att ärva den här klassen.
public ref class FileInfo sealed : System::IO::FileSystemInfo
public sealed class FileInfo : System.IO.FileSystemInfo
[System.Serializable]
public sealed class FileInfo : System.IO.FileSystemInfo
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileInfo : System.IO.FileSystemInfo
type FileInfo = class
inherit FileSystemInfo
[<System.Serializable>]
type FileInfo = class
inherit FileSystemInfo
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileInfo = class
inherit FileSystemInfo
Public NotInheritable Class FileInfo
Inherits FileSystemInfo
- Arv
- Arv
- Attribut
Exempel
I följande exempel visas några av de viktigaste medlemmarna i FileInfo klassen.
När egenskaperna först hämtas FileInfo anropar Refresh metoden och cachelagrar information om filen. Vid efterföljande anrop måste du anropa Refresh för att få den senaste kopian av informationen.
using System;
using System.IO;
class Test
{
public static void Main()
{
string path = Path.GetTempFileName();
var fi1 = new FileInfo(path);
// Create a file to write to.
using (StreamWriter sw = fi1.CreateText())
{
sw.WriteLine("Hello");
sw.WriteLine("And");
sw.WriteLine("Welcome");
}
// Open the file to read from.
using (StreamReader sr = fi1.OpenText())
{
var s = "";
while ((s = sr.ReadLine()) != null)
{
Console.WriteLine(s);
}
}
try
{
string path2 = Path.GetTempFileName();
var fi2 = new FileInfo(path2);
// Ensure that the target does not exist.
fi2.Delete();
// Copy the file.
fi1.CopyTo(path2);
Console.WriteLine($"{path} was copied to {path2}.");
// Delete the newly created file.
fi2.Delete();
Console.WriteLine($"{path2} was successfully deleted.");
}
catch (Exception e)
{
Console.WriteLine($"The process failed: {e.ToString()}");
}
}
}
Imports System.IO
Public Class Test
Public Shared Sub Main()
Dim path1 As String = Path.GetTempFileName()
Dim path2 As String = Path.GetTempFileName()
Dim fi As New FileInfo(path1)
' Create a file to write to.
Using sw As StreamWriter = fi.CreateText()
sw.WriteLine("Hello")
sw.WriteLine("And")
sw.WriteLine("Welcome")
End Using
Try
' Open the file to read from.
Using sr As StreamReader = fi.OpenText()
Do While sr.Peek() >= 0
Console.WriteLine(sr.ReadLine())
Loop
End Using
Dim fi2 As New FileInfo(path2)
' Ensure that the target does not exist.
fi2.Delete()
' Copy the file.
fi.CopyTo(path2)
Console.WriteLine($"{path1} was copied to {path2}.")
' Delete the newly created file.
fi2.Delete()
Console.WriteLine($"{path2} was successfully deleted.")
Catch e As Exception
Console.WriteLine($"The process failed: {e.ToString()}.")
End Try
End Sub
End Class
Det här exemplet genererar utdata som liknar följande.
Hello
And
Welcome
C:\Users\userName\AppData\Local\Temp\tmp70AB.tmp was copied to C:\Users\userName\AppData\Local\Temp\tmp70CB.tmp.
C:\Users\userName\AppData\Local\Temp\tmp70CB.tmp was successfully deleted.
Kommentarer
FileInfo Använd klassen för vanliga åtgärder som att kopiera, flytta, byta namn, skapa, öppna, ta bort och lägga till filer.
Om du utför flera åtgärder i samma fil kan det vara mer effektivt att använda FileInfo instansmetoder i stället för motsvarande statiska metoder för File klassen, eftersom en säkerhetskontroll inte alltid är nödvändig.
Många av FileInfo 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 FileInfo medlemmar som Open, OpenRead, OpenText, CreateTexteller Create.
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 FileInfo 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.
Klassen FileInfo innehåller följande egenskaper som gör att du kan hämta information om en fil. Ett exempel på hur du använder varje egenskap finns på egenskapssidorna.
Egenskapen Directory hämtar ett objekt som representerar den överordnade katalogen för en fil.
Egenskapen DirectoryName hämtar den fullständiga sökvägen till den överordnade katalogen för en fil.
Egenskapen Exists söker efter förekomsten av en fil innan den körs.
Egenskapen IsReadOnly hämtar eller anger ett värde som anger om en fil kan ändras.
Hämtar Length storleken på en fil.
Name Hämtar namnet på en fil.
Konstruktorer
| Name | Description |
|---|---|
| FileInfo(String) |
Initierar en ny instans av FileInfo klassen, som fungerar som omslutning för en filsökväg. |
Fält
| Name | Description |
|---|---|
| FullPath |
Representerar den fullständigt kvalificerade sökvägen för katalogen eller filen. (Ärvd från FileSystemInfo) |
| OriginalPath |
Sökvägen som ursprungligen angavs av användaren, oavsett om den är relativ eller absolut. (Ärvd från FileSystemInfo) |
Egenskaper
| Name | Description |
|---|---|
| Attributes |
Hämtar eller anger attributen för den aktuella filen eller katalogen. (Ärvd från FileSystemInfo) |
| CreationTime |
Hämtar eller anger skapandetiden för den aktuella filen eller katalogen. (Ärvd från FileSystemInfo) |
| CreationTimeUtc |
Hämtar eller anger skapandetiden, i samordnad universell tid (UTC), för den aktuella filen eller katalogen. (Ärvd från FileSystemInfo) |
| Directory |
Hämtar en instans av den överordnade katalogen. |
| DirectoryName |
Hämtar en sträng som representerar katalogens fullständiga sökväg. |
| Exists |
Hämtar ett värde som anger om en fil finns. |
| Extension |
Hämtar filnamnsdelen, inklusive den inledande punkten |
| FullName |
Hämtar den fullständiga sökvägen till katalogen eller filen. (Ärvd från FileSystemInfo) |
| IsReadOnly |
Hämtar eller anger ett värde som avgör om den aktuella filen är skrivskyddad. |
| LastAccessTime |
Hämtar eller anger den tid då den aktuella filen eller katalogen senast användes. (Ärvd från FileSystemInfo) |
| LastAccessTimeUtc |
Hämtar eller anger den tid i samordnad universell tid (UTC) som den aktuella filen eller katalogen senast användes. (Ärvd från FileSystemInfo) |
| LastWriteTime |
Hämtar eller anger den tid då den aktuella filen eller katalogen senast skrevs till. (Ärvd från FileSystemInfo) |
| LastWriteTimeUtc |
Hämtar eller anger tiden, i samordnad universell tid (UTC), när den aktuella filen eller katalogen senast skrevs till. (Ärvd från FileSystemInfo) |
| Length |
Hämtar storleken, i byte, på den aktuella filen. |
| Name |
Hämtar namnet på filen. |
Metoder
| Name | Description |
|---|---|
| AppendText() |
Skapar en StreamWriter som lägger till text i filen som representeras av den här instansen FileInfoav . |
| CopyTo(String, Boolean) |
Kopierar en befintlig fil till en ny fil, vilket gör att en befintlig fil kan skrivas över. |
| CopyTo(String) |
Kopierar en befintlig fil till en ny fil och tillåter inte att en befintlig fil skrivs över. |
| Create() |
Skapar en fil. |
| CreateObjRef(Type) |
Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt. (Ärvd från MarshalByRefObject) |
| CreateText() |
Skapar en StreamWriter som skriver en ny textfil. |
| Decrypt() |
Dekrypterar en fil som krypterades av det aktuella kontot med hjälp av Encrypt() metoden . |
| Delete() |
Tar bort en fil permanent. |
| Encrypt() |
Krypterar en fil så att endast det konto som används för att kryptera filen kan dekryptera den. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetAccessControl() |
Hämtar ett FileSecurity objekt som kapslar in ACL-poster (Access Control List) för filen som beskrivs av det aktuella FileInfo objektet. |
| GetAccessControl(AccessControlSections) |
Hämtar ett FileSecurity objekt som kapslar in den angivna typen av åtkomstkontrollistaposter (ACL) för filen som beskrivs av det aktuella FileInfo objektet. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetLifetimeService() |
Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| GetObjectData(SerializationInfo, StreamingContext) |
Anger objektet SerializationInfo med filnamnet och ytterligare undantagsinformation. (Ärvd från FileSystemInfo) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| InitializeLifetimeService() |
Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| MemberwiseClone(Boolean) |
Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet. (Ärvd från MarshalByRefObject) |
| MoveTo(String) |
Flyttar en angiven fil till en ny plats, vilket ger möjlighet att ange ett nytt filnamn. |
| Open(FileMode, FileAccess, FileShare) |
Öppnar en fil i det angivna läget med läs-, skriv- eller läs-/skrivåtkomst och det angivna delningsalternativet. |
| Open(FileMode, FileAccess) |
Öppnar en fil i det angivna läget med läs-, skriv- eller läs-/skrivåtkomst. |
| Open(FileMode) |
Öppnar en fil i angivet läge. |
| OpenRead() |
Skapar en skrivskyddad FileStream. |
| OpenText() |
Skapar en StreamReader med UTF8-kodning som läser från en befintlig textfil. |
| OpenWrite() |
Skapar en skrivskyddad FileStream. |
| Refresh() |
Uppdaterar objektets tillstånd. (Ärvd från FileSystemInfo) |
| Replace(String, String, Boolean) |
Ersätter innehållet i en angiven fil med filen som beskrivs av det aktuella FileInfo objektet, tar bort den ursprungliga filen och skapar en säkerhetskopia av den ersatta filen. Anger också om kopplingsfel ska ignoreras. |
| Replace(String, String) |
Ersätter innehållet i en angiven fil med den fil som beskrivs av det aktuella FileInfo objektet, tar bort den ursprungliga filen och skapar en säkerhetskopia av den ersatta filen. |
| SetAccessControl(FileSecurity) |
Tillämpar poster i åtkomstkontrollistan (ACL) som beskrivs av ett FileSecurity objekt på filen som beskrivs av det aktuella FileInfo objektet. |
| ToString() |
Returnerar den ursprungliga sökvägen som skickades till FileInfo konstruktorn. FullName Använd egenskapen eller Name för den fullständiga sökvägen eller filnamnet. |