File Třída

Definice

Poskytuje statické metody pro vytvoření, kopírování, odstranění, přesunutí a otevření jednoho souboru a pomáhá při vytváření 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
Dědičnost
File
Atributy

Příklady

Následující příklad ukazuje, jak pomocí File třídy zkontrolovat, zda soubor existuje, a v závislosti na výsledku buď vytvořit nový soubor a zapisovat do něj, nebo otevřít existující soubor a číst z něj. Před spuštěním kódu vytvořte c:\temp složku.

using namespace System;
using namespace System::IO;
int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   if (  !File::Exists( path ) )
   {
      
      // Create a file to write to.
      StreamWriter^ sw = File::CreateText( path );
      try
      {
         sw->WriteLine( "Hello" );
         sw->WriteLine( "And" );
         sw->WriteLine( "Welcome" );
      }
      finally
      {
         if ( sw )
                  delete (IDisposable^)(sw);
      }
   }

   // Open the file to read from.
   StreamReader^ sr = File::OpenText( path );
   try
   {
      String^ s = "";
      while ( s = sr->ReadLine() )
      {
         Console::WriteLine( s );
      }
   }
   finally
   {
      if ( sr )
            delete (IDisposable^)(sr);
   }

   try
   {
      String^ path2 = String::Concat( path, "temp" );
      
      // Ensure that the target does not exist.
      File::Delete( path2 );
      
      // Copy the file.
      File::Copy( path, path2 );
      Console::WriteLine( "{0} was copied to {1}.", path, path2 );
      
      // Delete the newly created file.
      File::Delete( path2 );
      Console::WriteLine( "{0} was successfully deleted.", path2 );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "The process failed: {0}", e );
   }
}
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

Poznámky

File Třídu použijte pro typické operace, jako je kopírování, přesunutí, přejmenování, vytvoření, otevření, odstranění a připojení k jednomu souboru. Třídu můžete také použít File k získání a nastavení atributů souboru nebo DateTime informací souvisejících s vytvářením, přístupem a zápisem souboru. Pokud chcete provádět operace s více soubory, podívejte se na nebo Directory.GetFilesDirectoryInfo.GetFiles.

Mnoho metod File při vytváření nebo otevírání souborů vrací jiné vstupně-výstupní typy. Tyto další typy můžete použít k další manipulaci se souborem. Další informace najdete v konkrétních File členech, jako OpenTextjsou , CreateTextnebo Create.

Vzhledem k tomu, že všechny File metody jsou statické, může být efektivnější použít metodu File místo odpovídající FileInfo metody instance, pokud chcete provést pouze jednu akci. Všechny File metody vyžadují cestu k souboru, se kterým manipulujete.

Statické metody File třídy provádějí kontroly zabezpečení u všech metod. Pokud budete objekt opakovaně používat několikrát, zvažte místo toho použití odpovídající metody FileInfo instance, protože kontrola zabezpečení nebude vždy nutná.

Ve výchozím nastavení je všem uživatelům udělen úplný přístup pro čtení a zápis k novým souborům.

Následující tabulka popisuje výčty, které se používají k přizpůsobení chování různých File metod.

Výčet Description
FileAccess Určuje přístup pro čtení a zápis k souboru.
FileShare Určuje úroveň přístupu povolenou pro soubor, který se už používá.
FileMode Určuje, jestli je obsah existujícího souboru zachovaný nebo přepsán a jestli požadavky na vytvoření existujícího souboru způsobí výjimku.

Poznámka

Ve členech, které přijímají cestu jako vstupní řetězec, musí být tato cesta správně vytvořena nebo je vyvolána výjimka. Pokud je například cesta plně kvalifikovaná, ale začíná mezerou, cesta není oříznuta v metodách třídy. Proto je cesta poškozena a vyvolána výjimka. Podobně cesta nebo kombinace cest nemůže být plně kvalifikovaná dvakrát. Například c:\temp c:\windows ve většině případů také vyvolá výjimku. Ujistěte se, že vaše cesty jsou správně vytvořené při použití metod, které přijímají řetězec cesty.

Ve členech, kteří přijímají cestu, může cesta odkazovat na soubor nebo jenom adresář. Zadaná cesta může také odkazovat na relativní cestu nebo cestu UNC (Universal Naming Convention) pro název serveru a sdílené složky. Přijatelné jsou například všechny následující cesty:

  • "c:\\\MyDir\\\MyFile.txt" v jazyce C# nebo "c:\MyDir\MyFile.txt" v jazyce Visual Basic.

  • "c:\\\MyDir" v jazyce C# nebo "c:\MyDir" v jazyce Visual Basic.

  • "MyDir\\\MySubdir" v jazyce C# nebo "MyDir\MySubDir" v jazyce Visual Basic.

  • "\\\\\\\MyServer\\\MyShare" v jazyce C# nebo "\\\MyServer\MyShare" v jazyce Visual Basic.

Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.

Metody

AppendAllBytes(String, Byte[])

Poskytuje statické metody pro vytvoření, kopírování, odstranění, přesunutí a otevření jednoho souboru a pomáhá při vytváření FileStream objektů.

AppendAllBytesAsync(String, Byte[], CancellationToken)

Poskytuje statické metody pro vytvoření, kopírování, odstranění, přesunutí a otevření jednoho souboru a pomáhá při vytváření FileStream objektů.

AppendAllLines(String, IEnumerable<String>)

Připojí řádky k souboru a pak soubor zavře. Pokud zadaný soubor neexistuje, tato metoda vytvoří soubor, zapíše zadané řádky do souboru a poté soubor zavře.

AppendAllLines(String, IEnumerable<String>, Encoding)

Připojí řádky k souboru pomocí zadaného kódování a pak soubor zavře. Pokud zadaný soubor neexistuje, tato metoda vytvoří soubor, zapíše zadané řádky do souboru a poté soubor zavře.

AppendAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Asynchronně připojí řádky k souboru a pak soubor zavře. Pokud zadaný soubor neexistuje, tato metoda vytvoří soubor, zapíše zadané řádky do souboru a poté soubor zavře.

AppendAllLinesAsync(String, IEnumerable<String>, Encoding, CancellationToken)

Asynchronně připojí řádky k souboru pomocí zadaného kódování a pak soubor zavře. Pokud zadaný soubor neexistuje, tato metoda vytvoří soubor, zapíše zadané řádky do souboru a poté soubor zavře.

AppendAllText(String, String)

Otevře soubor, připojí k němu zadaný řetězec a pak soubor zavře. Pokud soubor neexistuje, tato metoda vytvoří soubor, zapíše zadaný řetězec do souboru a pak soubor zavře.

AppendAllText(String, String, Encoding)

Připojí zadaný řetězec k souboru pomocí zadaného kódování a vytvoří soubor, pokud ještě neexistuje.

AppendAllTextAsync(String, String, CancellationToken)

Asynchronně otevře soubor nebo vytvoří soubor, pokud ještě neexistuje, připojí zadaný řetězec k souboru a pak soubor zavře.

AppendAllTextAsync(String, String, Encoding, CancellationToken)

Asynchronně otevře soubor nebo vytvoří soubor, pokud ještě neexistuje, připojí zadaný řetězec k souboru pomocí zadaného kódování a poté soubor zavře.

AppendText(String)

StreamWriter Vytvoří , který připojí text kódovaný UTF-8 k existujícímu souboru nebo k novému souboru, pokud zadaný soubor neexistuje.

Copy(String, String)

Zkopíruje existující soubor do nového souboru. Přepsání souboru se stejným názvem není povoleno.

Copy(String, String, Boolean)

Zkopíruje existující soubor do nového souboru. Přepsání souboru se stejným názvem je povoleno.

Create(String)

Vytvoří nebo zkrátí a přepíše soubor v zadané cestě.

Create(String, Int32)

Vytvoří nebo zkrátí a přepíše soubor v zadané cestě a určí velikost vyrovnávací paměti.

Create(String, Int32, FileOptions)

Vytvoří nebo přepíše soubor v zadané cestě a určí velikost vyrovnávací paměti a možnosti, které popisují, jak soubor vytvořit nebo přepsat.

Create(String, Int32, FileOptions, FileSecurity)

Vytvoří nebo přepíše soubor v zadané cestě a určí velikost vyrovnávací paměti, možnosti, které popisují, jak soubor vytvořit nebo přepsat, a hodnotu, která určuje řízení přístupu a zabezpečení auditu souboru.

CreateSymbolicLink(String, String)

Vytvoří symbolický odkaz souboru, který path odkazuje na pathToTarget.

CreateText(String)

Vytvoří nebo otevře soubor pro zápis textu s kódováním UTF-8. Pokud soubor již existuje, jeho obsah se nahradí.

Decrypt(String)

Dešifruje soubor zašifrovaný aktuálním účtem pomocí metody .Encrypt(String)

Delete(String)

Odstraní zadaný soubor.

Encrypt(String)

Zašifruje soubor tak, aby ho mohl dešifrovat pouze účet použitý k zašifrování souboru.

Exists(String)

Určuje, zda zadaný soubor existuje.

GetAccessControl(String)

FileSecurity Získá objekt, který zapouzdřuje položky seznamu řízení přístupu (ACL) pro zadaný soubor.

GetAccessControl(String, AccessControlSections)

FileSecurity Získá objekt, který zapouzdřuje zadaný typ položek seznamu řízení přístupu (ACL) pro konkrétní soubor.

GetAttributes(SafeFileHandle)

Získá zadaný FileAttributes soubor nebo adresář přidružený k fileHandle.

GetAttributes(String)

FileAttributes Získá soubor v cestě.

GetCreationTime(SafeFileHandle)

Vrátí čas vytvoření zadaného souboru nebo adresáře.

GetCreationTime(String)

Vrátí datum a čas vytvoření zadaného souboru nebo adresáře.

GetCreationTimeUtc(SafeFileHandle)

Vrátí datum a čas vytvoření zadaného souboru nebo adresáře v koordinovaném univerzálním čase (UTC).

GetCreationTimeUtc(String)

Vrátí datum a čas vytvoření zadaného souboru nebo adresáře v koordinovaném univerzálním čase (UTC).

GetLastAccessTime(SafeFileHandle)

Vrátí datum a čas posledního přístupu k zadanému souboru nebo adresáři.

GetLastAccessTime(String)

Vrátí datum a čas posledního přístupu k zadanému souboru nebo adresáři.

GetLastAccessTimeUtc(SafeFileHandle)

Vrátí datum a čas posledního přístupu zadaného souboru nebo adresáře v koordinovaném univerzálním čase (UTC).

GetLastAccessTimeUtc(String)

Vrátí datum a čas posledního přístupu k zadanému souboru nebo adresáři v koordinovaném univerzálním čase (UTC).

GetLastWriteTime(SafeFileHandle)

Vrátí datum a čas posledního zápisu zadaného souboru nebo adresáře.

GetLastWriteTime(String)

Vrátí datum a čas posledního zápisu zadaného souboru nebo adresáře.

GetLastWriteTimeUtc(SafeFileHandle)

Vrátí datum a čas posledního zápisu zadaného souboru nebo adresáře v koordinovaném univerzálním čase (UTC).

GetLastWriteTimeUtc(String)

Vrátí datum a čas v koordinovaném univerzálním čase (UTC), do kterého byl zadaný soubor nebo adresář naposledy zapsán.

GetUnixFileMode(SafeFileHandle)

Získá ze UnixFileMode zadaného popisovače souboru.

GetUnixFileMode(String)

UnixFileMode Získá soubor v cestě.

Move(String, String)

Přesune zadaný soubor do nového umístění s možností zadat nový název souboru.

Move(String, String, Boolean)

Přesune zadaný soubor do nového umístění a poskytne možnosti pro zadání nového názvu souboru a nahrazení cílového souboru, pokud již existuje.

Open(String, FileMode)

FileStream Otevře v zadané cestě s přístupem pro čtení i zápis bez sdílení.

Open(String, FileMode, FileAccess)

FileStream Otevře v zadané cestě se zadaným režimem a přístupem bez sdílení.

Open(String, FileMode, FileAccess, FileShare)

FileStream Otevře v zadané cestě s určeným režimem s přístupem pro čtení, zápis nebo čtení/zápis a zadanou možnost sdílení.

Open(String, FileStreamOptions)

Inicializuje novou instanci FileStream třídy se zadanou cestou, režimem vytváření, oprávněním ke čtení/zápisu a sdílení, přístup ke stejnému souboru, velikosti vyrovnávací paměti, dalším možnostem souboru a velikosti přidělení.

OpenHandle(String, FileMode, FileAccess, FileShare, FileOptions, Int64)

Inicializuje novou instanci SafeFileHandle třídy se zadanou cestou, režimem vytváření, oprávněním ke čtení/zápisu a sdílení, může mít přístup jiné SafeFileHandles ke stejnému souboru, dalším možnostem souboru a velikosti přidělení.

OpenRead(String)

Otevře existující soubor pro čtení.

OpenText(String)

Otevře existující textový soubor s kódováním UTF-8 pro čtení.

OpenWrite(String)

Otevře existující soubor nebo vytvoří nový soubor pro zápis.

ReadAllBytes(String)

Otevře binární soubor, přečte obsah souboru do pole bajtů a pak soubor zavře.

ReadAllBytesAsync(String, CancellationToken)

Asynchronně otevře binární soubor, přečte obsah souboru do pole bajtů a pak soubor zavře.

ReadAllLines(String)

Otevře textový soubor, přečte všechny řádky souboru a pak soubor zavře.

ReadAllLines(String, Encoding)

Otevře soubor, přečte všechny řádky souboru se zadaným kódováním a pak soubor zavře.

ReadAllLinesAsync(String, CancellationToken)

Asynchronně otevře textový soubor, přečte všechny řádky souboru a pak soubor zavře.

ReadAllLinesAsync(String, Encoding, CancellationToken)

Asynchronně otevře textový soubor, přečte všechny řádky souboru se zadaným kódováním a pak soubor zavře.

ReadAllText(String)

Otevře textový soubor, přečte veškerý text v souboru a pak soubor zavře.

ReadAllText(String, Encoding)

Otevře soubor, přečte veškerý text v souboru se zadaným kódováním a pak soubor zavře.

ReadAllTextAsync(String, CancellationToken)

Asynchronně otevře textový soubor, přečte veškerý text v souboru a pak soubor zavře.

ReadAllTextAsync(String, Encoding, CancellationToken)

Asynchronně otevře textový soubor, přečte veškerý text v souboru se zadaným kódováním a pak soubor zavře.

ReadLines(String)

Načte řádky souboru.

ReadLines(String, Encoding)

Čtení řádků souboru se zadaným kódováním

ReadLinesAsync(String, CancellationToken)

Asynchronně čte řádky souboru.

ReadLinesAsync(String, Encoding, CancellationToken)

Asynchronně čte řádky souboru, který má zadané kódování.

Replace(String, String, String)

Nahradí obsah zadaného souboru obsahem jiného souboru, odstraní původní soubor a vytvoří zálohu nahrazeného souboru.

Replace(String, String, String, Boolean)

Nahradí obsah zadaného souboru obsahem jiného souboru, odstraní původní soubor a vytvoří zálohu nahrazeného souboru a volitelně ignoruje chyby sloučení.

ResolveLinkTarget(String, Boolean)

Získá cíl zadaného souboru odkaz.

SetAccessControl(String, FileSecurity)

Použije položky seznamu řízení přístupu (ACL) popsané objektem FileSecurity na zadaný soubor.

SetAttributes(SafeFileHandle, FileAttributes)

Nastaví zadaný FileAttributes soubor nebo adresář přidružený k fileHandle.

SetAttributes(String, FileAttributes)

Nastaví zadaný FileAttributes soubor v zadané cestě.

SetCreationTime(SafeFileHandle, DateTime)

Nastaví datum a čas vytvoření souboru nebo adresáře.

SetCreationTime(String, DateTime)

Nastaví datum a čas vytvoření souboru.

SetCreationTimeUtc(SafeFileHandle, DateTime)

Nastaví datum a čas vytvoření souboru nebo adresáře v koordinovaném univerzálním čase (UTC).

SetCreationTimeUtc(String, DateTime)

Nastaví datum a čas vytvoření souboru v koordinovaném univerzálním čase (UTC).

SetLastAccessTime(SafeFileHandle, DateTime)

Nastaví datum a čas posledního přístupu k zadanému souboru nebo adresáři.

SetLastAccessTime(String, DateTime)

Nastaví datum a čas posledního přístupu k zadanému souboru.

SetLastAccessTimeUtc(SafeFileHandle, DateTime)

Nastaví datum a čas posledního přístupu k zadanému souboru nebo adresáři v koordinovaném univerzálním čase (UTC).

SetLastAccessTimeUtc(String, DateTime)

Nastaví datum a čas v koordinovaném univerzálním čase (UTC), kdy se k zadanému souboru naposledy přistupovalo.

SetLastWriteTime(SafeFileHandle, DateTime)

Nastaví datum a čas, do kterého byl zadaný soubor nebo adresář naposledy zapsán.

SetLastWriteTime(String, DateTime)

Nastaví datum a čas posledního zápisu zadaného souboru.

SetLastWriteTimeUtc(SafeFileHandle, DateTime)

Nastaví datum a čas v koordinovaném univerzálním čase (UTC), do kterého byl zadaný soubor nebo adresář naposledy zapsán.

SetLastWriteTimeUtc(String, DateTime)

Nastaví datum a čas v koordinovaném univerzálním čase (UTC), do kterého byl zadaný soubor naposledy zapsán.

SetUnixFileMode(SafeFileHandle, UnixFileMode)

Nastaví zadaný UnixFileMode popisovač souboru.

SetUnixFileMode(String, UnixFileMode)

Nastaví zadaný UnixFileMode soubor v zadané cestě.

WriteAllBytes(String, Byte[])

Vytvoří nový soubor, zapíše zadané pole bajtů do souboru a poté soubor zavře. Pokud cílový soubor již existuje, je zkrácen a přepsán.

WriteAllBytesAsync(String, Byte[], CancellationToken)

Asynchronně vytvoří nový soubor, zapíše do souboru zadané pole bajtů a pak soubor zavře. Pokud cílový soubor již existuje, je zkrácen a přepsán.

WriteAllLines(String, IEnumerable<String>)

Vytvoří nový soubor, zapíše do souboru kolekci řetězců a pak soubor zavře.

WriteAllLines(String, IEnumerable<String>, Encoding)

Vytvoří nový soubor pomocí zadaného kódování, zapíše do souboru kolekci řetězců a poté soubor zavře.

WriteAllLines(String, String[])

Vytvoří nový soubor, zapíše do souboru zadané pole řetězců a pak soubor zavře.

WriteAllLines(String, String[], Encoding)

Vytvoří nový soubor, zapíše zadané pole řetězců do souboru pomocí zadaného kódování a pak soubor zavře.

WriteAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Asynchronně vytvoří nový soubor, zapíše do souboru zadané řádky a pak soubor zavře.

WriteAllLinesAsync(String, IEnumerable<String>, Encoding, CancellationToken)

Asynchronně vytvoří nový soubor, zapíše zadané řádky do souboru pomocí zadaného kódování a pak soubor zavře.

WriteAllText(String, String)

Vytvoří nový soubor, zapíše zadaný řetězec do souboru a pak soubor zavře. Pokud cílový soubor již existuje, je zkrácen a přepsán.

WriteAllText(String, String, Encoding)

Vytvoří nový soubor, zapíše zadaný řetězec do souboru pomocí zadaného kódování a pak soubor zavře. Pokud cílový soubor již existuje, je zkrácen a přepsán.

WriteAllTextAsync(String, String, CancellationToken)

Asynchronně vytvoří nový soubor, zapíše zadaný řetězec do souboru a pak soubor zavře. Pokud cílový soubor již existuje, je zkrácen a přepsán.

WriteAllTextAsync(String, String, Encoding, CancellationToken)

Asynchronně vytvoří nový soubor, zapíše zadaný řetězec do souboru pomocí zadaného kódování a pak soubor zavře. Pokud cílový soubor již existuje, je zkrácen a přepsán.

Platí pro

Viz také