FileInfo Klass

Definition

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 . även om det är hela filnamnet eller en tom sträng om det inte finns något tillägg.

(Ärvd från FileSystemInfo)
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.

Gäller för

Se även