File Klasa

Definicja

Udostępnia metody statyczne tworzenia, kopiowania, usuwania, przenoszenia i otwierania pojedynczego pliku oraz ułatwia tworzenie FileStream obiektów.

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
Dziedziczenie
File
Atrybuty

Przykłady

W poniższym przykładzie pokazano, jak za pomocą File klasy sprawdzić, czy plik istnieje, i w zależności od wyniku utwórz nowy plik i zapisz go albo otwórz istniejący plik i odczytaj z niego. Przed uruchomieniem c:\temp kodu utwórz folder.

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

Uwagi

File Użyj klasy dla typowych operacji, takich jak kopiowanie, przenoszenie, zmienianie nazwy, tworzenie, otwieranie, usuwanie i dołączanie do pojedynczego pliku naraz. Możesz również użyć File klasy , aby pobrać i ustawić atrybuty pliku lub DateTime informacje związane z tworzeniem, dostępem i pisaniem pliku. Jeśli chcesz wykonywać operacje na wielu plikach, zobacz Directory.GetFiles lub DirectoryInfo.GetFiles.

Wiele metod zwraca inne typy we/wy File podczas tworzenia lub otwierania plików. Możesz użyć tych innych typów do dalszego manipulowania plikiem. Aby uzyskać więcej informacji, zobacz określone File elementy członkowskie, takie jak OpenText, CreateTextlub Create.

Ponieważ wszystkie File metody są statyczne, może być bardziej wydajne użycie File metody, a nie odpowiedniej FileInfo metody wystąpienia, jeśli chcesz wykonać tylko jedną akcję. Wszystkie File metody wymagają ścieżki do pliku, który manipulujesz.

Metody File statyczne klasy wykonują kontrole zabezpieczeń na wszystkich metodach. Jeśli ponownie użyjesz obiektu kilka razy, rozważ użycie odpowiedniej metody FileInfo wystąpienia, ponieważ sprawdzanie zabezpieczeń nie zawsze będzie konieczne.

Domyślnie pełny dostęp do odczytu/zapisu do nowych plików jest przyznawany wszystkim użytkownikom.

W poniższej tabeli opisano wyliczenia używane do dostosowywania zachowania różnych File metod.

Wyliczenie Opis
FileAccess Określa dostęp do odczytu i zapisu do pliku.
FileShare Określa poziom dostępu dozwolony dla pliku, który jest już używany.
FileMode Określa, czy zawartość istniejącego pliku jest zachowywana lub zastępowana oraz czy żądania utworzenia istniejącego pliku powodują wyjątek.

Uwaga

W elementach członkowskich, które akceptują ścieżkę jako ciąg wejściowy, ta ścieżka musi być dobrze sformułowana lub zgłaszany jest wyjątek. Jeśli na przykład ścieżka jest w pełni kwalifikowana, ale zaczyna się od spacji, ścieżka nie jest przycinana w metodach klasy. W związku z tym ścieżka jest źle sformułowana i zgłaszany jest wyjątek. Podobnie ścieżka lub kombinacja ścieżek nie może być dwukrotnie w pełni kwalifikowana. Na przykład "c:\temp c:\windows" również zgłasza wyjątek w większości przypadków. Upewnij się, że ścieżki są dobrze sformułowane podczas używania metod, które akceptują ciąg ścieżki.

W elementach członkowskich, które akceptują ścieżkę, ścieżka może odwoływać się do pliku lub tylko katalogu. Określona ścieżka może również odwoływać się do ścieżki względnej lub ścieżki uniwersalnej konwencji nazewnictwa (UNC) dla serwera i nazwy udziału. Na przykład wszystkie następujące ścieżki są dopuszczalne:

  • "c:\\\MyDir\\\MyFile.txt" w języku C# lub "c:\MyDir\MyFile.txt" w Visual Basic.

  • "c:\\\MyDir" w języku C# lub "c:\MyDir" w Visual Basic.

  • "MyDir\\\MySubdir" w języku C# lub "MyDir\MySubDir" w Visual Basic.

  • "\\\\\\\MyServer\\\MyShare" w języku C# lub "\\\MyServer\MyShare" w Visual Basic.

Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.

Metody

AppendAllBytes(String, Byte[])

Udostępnia metody statyczne tworzenia, kopiowania, usuwania, przenoszenia i otwierania pojedynczego pliku oraz ułatwia tworzenie FileStream obiektów.

AppendAllBytesAsync(String, Byte[], CancellationToken)

Udostępnia metody statyczne tworzenia, kopiowania, usuwania, przenoszenia i otwierania pojedynczego pliku oraz ułatwia tworzenie FileStream obiektów.

AppendAllLines(String, IEnumerable<String>)

Dołącza wiersze do pliku, a następnie zamyka plik. Jeśli określony plik nie istnieje, ta metoda tworzy plik, zapisuje określone wiersze do pliku, a następnie zamyka plik.

AppendAllLines(String, IEnumerable<String>, Encoding)

Dołącza wiersze do pliku przy użyciu określonego kodowania, a następnie zamyka plik. Jeśli określony plik nie istnieje, ta metoda tworzy plik, zapisuje określone wiersze do pliku, a następnie zamyka plik.

AppendAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Asynchronicznie dołącza wiersze do pliku, a następnie zamyka plik. Jeśli określony plik nie istnieje, ta metoda tworzy plik, zapisuje określone wiersze do pliku, a następnie zamyka plik.

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

Asynchronicznie dołącza wiersze do pliku przy użyciu określonego kodowania, a następnie zamyka plik. Jeśli określony plik nie istnieje, ta metoda tworzy plik, zapisuje określone wiersze do pliku, a następnie zamyka plik.

AppendAllText(String, String)

Otwiera plik, dołącza określony ciąg do pliku, a następnie zamyka plik. Jeśli plik nie istnieje, ta metoda tworzy plik, zapisuje określony ciąg w pliku, a następnie zamyka plik.

AppendAllText(String, String, Encoding)

Dołącza określony ciąg do pliku przy użyciu określonego kodowania, tworząc plik, jeśli jeszcze nie istnieje.

AppendAllTextAsync(String, String, CancellationToken)

Asynchronicznie otwiera plik lub tworzy plik, jeśli jeszcze nie istnieje, dołącza określony ciąg do pliku, a następnie zamyka plik.

AppendAllTextAsync(String, String, Encoding, CancellationToken)

Asynchronicznie otwiera plik lub tworzy plik, jeśli jeszcze nie istnieje, dołącza określony ciąg do pliku przy użyciu określonego kodowania, a następnie zamyka plik.

AppendText(String)

Tworzy obiekt StreamWriter , który dołącza zakodowany w formacie UTF-8 tekst do istniejącego pliku lub do nowego pliku, jeśli określony plik nie istnieje.

Copy(String, String)

Kopiuje istniejący plik do nowego pliku. Zastępowanie pliku o tej samej nazwie jest niedozwolone.

Copy(String, String, Boolean)

Kopiuje istniejący plik do nowego pliku. Zastępowanie pliku o tej samej nazwie jest dozwolone.

Create(String)

Tworzy lub obcina i zastępuje plik w określonej ścieżce.

Create(String, Int32)

Tworzy lub obcina i zastępuje plik w określonej ścieżce, określając rozmiar buforu.

Create(String, Int32, FileOptions)

Tworzy lub zastępuje plik w określonej ścieżce, określając rozmiar buforu i opcje opisujące sposób tworzenia lub zastępowania pliku.

Create(String, Int32, FileOptions, FileSecurity)

Tworzy lub zastępuje plik w określonej ścieżce, określając rozmiar buforu, opcje opisujące sposób tworzenia lub zastępowania pliku oraz wartość określającą zabezpieczenia kontroli dostępu i inspekcji dla pliku.

CreateSymbolicLink(String, String)

Tworzy link symboliczny pliku zidentyfikowany przez path element , który wskazuje .pathToTarget

CreateText(String)

Tworzy lub otwiera plik do zapisywania tekstu zakodowanego w formacie UTF-8. Jeśli plik już istnieje, jego zawartość jest zastępowana.

Decrypt(String)

Odszyfrowuje plik zaszyfrowany przez bieżące konto przy użyciu Encrypt(String) metody .

Delete(String)

Usuwa określony plik.

Encrypt(String)

Szyfruje plik tak, aby tylko konto używane do szyfrowania pliku mógł go odszyfrować.

Exists(String)

Określa, czy określony plik istnieje.

GetAccessControl(String)

FileSecurity Pobiera obiekt, który hermetyzuje wpisy listy kontroli dostępu (ACL) dla określonego pliku.

GetAccessControl(String, AccessControlSections)

FileSecurity Pobiera obiekt, który hermetyzuje określony typ wpisów listy kontroli dostępu (ACL) dla określonego pliku.

GetAttributes(SafeFileHandle)

Pobiera określony FileAttributes plik lub katalog skojarzony z fileHandleprogramem .

GetAttributes(String)

Pobiera plik FileAttributes w ścieżce.

GetCreationTime(SafeFileHandle)

Zwraca czas utworzenia określonego pliku lub katalogu.

GetCreationTime(String)

Zwraca datę i godzinę utworzenia określonego pliku lub katalogu.

GetCreationTimeUtc(SafeFileHandle)

Zwraca datę i godzinę utworzenia w uniwersalnym czasie koordynowanym (UTC) określonego pliku lub katalogu.

GetCreationTimeUtc(String)

Zwraca datę i godzinę utworzenia w uniwersalnym czasie koordynowanym (UTC) określonego pliku lub katalogu.

GetLastAccessTime(SafeFileHandle)

Zwraca datę i godzinę ostatniego dostępu określonego pliku lub katalogu.

GetLastAccessTime(String)

Zwraca datę i godzinę ostatniego uzyskania dostępu do określonego pliku lub katalogu.

GetLastAccessTimeUtc(SafeFileHandle)

Zwraca datę i godzinę ostatniego dostępu w uniwersalnym czasie koordynowanym (UTC) określonego pliku lub katalogu.

GetLastAccessTimeUtc(String)

Zwraca datę i godzinę w uniwersalnym czasie koordynowanym (UTC), do którego ostatnio uzyskiwano dostęp do określonego pliku lub katalogu.

GetLastWriteTime(SafeFileHandle)

Zwraca ostatnią datę i godzinę zapisu określonego pliku lub katalogu.

GetLastWriteTime(String)

Zwraca datę i godzinę ostatniego zapisania określonego pliku lub katalogu.

GetLastWriteTimeUtc(SafeFileHandle)

Zwraca ostatnią datę i godzinę zapisu w uniwersalnym czasie koordynowanym (UTC) określonego pliku lub katalogu.

GetLastWriteTimeUtc(String)

Zwraca datę i godzinę w uniwersalnym czasie koordynowanym (UTC), do którego ostatnio zapisano określony plik lub katalog.

GetUnixFileMode(SafeFileHandle)

UnixFileMode Pobiera uchwyt określonego pliku.

GetUnixFileMode(String)

Pobiera plik UnixFileMode w ścieżce.

Move(String, String)

Przenosi określony plik do nowej lokalizacji, podając opcję określenia nowej nazwy pliku.

Move(String, String, Boolean)

Przenosi określony plik do nowej lokalizacji, udostępniając opcje określania nowej nazwy pliku i zastępowania pliku docelowego, jeśli już istnieje.

Open(String, FileMode)

FileStream Otwiera obiekt na określonej ścieżce z dostępem do odczytu/zapisu bez udostępniania.

Open(String, FileMode, FileAccess)

FileStream Otwiera obiekt na określonej ścieżce z określonym trybem i dostępem bez udostępniania.

Open(String, FileMode, FileAccess, FileShare)

FileStream Otwiera obiekt na określonej ścieżce z określonym trybem z dostępem do odczytu, zapisu lub odczytu/zapisu oraz określoną opcją udostępniania.

Open(String, FileStreamOptions)

Inicjuje nowe wystąpienie FileStream klasy z określoną ścieżką, trybem tworzenia, uprawnieniami do odczytu/zapisu i udostępniania, dostęp do innych strumieni plików może mieć ten sam plik, rozmiar buforu, dodatkowe opcje pliku i rozmiar alokacji.

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

Inicjuje nowe wystąpienie SafeFileHandle klasy z określoną ścieżką, trybem tworzenia, uprawnieniem do odczytu/zapisu i udostępniania, dostęp do innych plików SafeFileHandles może mieć taki sam plik, dodatkowe opcje pliku i rozmiar alokacji.

OpenRead(String)

Otwiera istniejący plik do odczytu.

OpenText(String)

Otwiera istniejący plik tekstowy zakodowany w formacie UTF-8 do odczytu.

OpenWrite(String)

Otwiera istniejący plik lub tworzy nowy plik do zapisania.

ReadAllBytes(String)

Otwiera plik binarny, odczytuje zawartość pliku do tablicy bajtów, a następnie zamyka plik.

ReadAllBytesAsync(String, CancellationToken)

Asynchronicznie otwiera plik binarny, odczytuje zawartość pliku do tablicy bajtów, a następnie zamyka plik.

ReadAllLines(String)

Otwiera plik tekstowy, odczytuje wszystkie wiersze pliku, a następnie zamyka plik.

ReadAllLines(String, Encoding)

Otwiera plik, odczytuje wszystkie wiersze pliku z określonym kodowaniem, a następnie zamyka plik.

ReadAllLinesAsync(String, CancellationToken)

Asynchronicznie otwiera plik tekstowy, odczytuje wszystkie wiersze pliku, a następnie zamyka plik.

ReadAllLinesAsync(String, Encoding, CancellationToken)

Asynchronicznie otwiera plik tekstowy, odczytuje wszystkie wiersze pliku z określonym kodowaniem, a następnie zamyka plik.

ReadAllText(String)

Otwiera plik tekstowy, odczytuje cały tekst w pliku, a następnie zamyka plik.

ReadAllText(String, Encoding)

Otwiera plik, odczytuje cały tekst w pliku z określonym kodowaniem, a następnie zamyka plik.

ReadAllTextAsync(String, CancellationToken)

Asynchronicznie otwiera plik tekstowy, odczytuje cały tekst w pliku, a następnie zamyka plik.

ReadAllTextAsync(String, Encoding, CancellationToken)

Asynchronicznie otwiera plik tekstowy, odczytuje cały tekst w pliku z określonym kodowaniem, a następnie zamyka plik.

ReadLines(String)

Odczytuje wiersze pliku.

ReadLines(String, Encoding)

Odczytywanie wierszy pliku z określonym kodowaniem.

ReadLinesAsync(String, CancellationToken)

Asynchronicznie odczytuje wiersze pliku.

ReadLinesAsync(String, Encoding, CancellationToken)

Asynchronicznie odczytuje wiersze pliku z określonym kodowaniem.

Replace(String, String, String)

Zamienia zawartość określonego pliku na zawartość innego pliku, usuwając oryginalny plik i tworząc kopię zapasową zastąpionego pliku.

Replace(String, String, String, Boolean)

Zastępuje zawartość określonego pliku zawartością innego pliku, usuwa oryginalny plik i tworzy kopię zapasową zastąpionego pliku, a opcjonalnie ignoruje błędy scalania.

ResolveLinkTarget(String, Boolean)

Pobiera element docelowy określonego linku do pliku.

SetAccessControl(String, FileSecurity)

Stosuje wpisy listy kontroli dostępu (ACL) opisane przez FileSecurity obiekt do określonego pliku.

SetAttributes(SafeFileHandle, FileAttributes)

Ustawia określony FileAttributes plik lub katalog skojarzony z fileHandle.

SetAttributes(String, FileAttributes)

Ustawia określony FileAttributes plik w określonej ścieżce.

SetCreationTime(SafeFileHandle, DateTime)

Ustawia datę i godzinę utworzenia pliku lub katalogu.

SetCreationTime(String, DateTime)

Ustawia datę i godzinę utworzenia pliku.

SetCreationTimeUtc(SafeFileHandle, DateTime)

Ustawia datę i godzinę w uniwersalnym czasie koordynowanym (UTC), że plik lub katalog został utworzony.

SetCreationTimeUtc(String, DateTime)

Ustawia datę i godzinę w uniwersalnym czasie koordynowanym (UTC), który został utworzony.

SetLastAccessTime(SafeFileHandle, DateTime)

Ustawia datę i godzinę ostatniego uzyskania dostępu do określonego pliku lub katalogu.

SetLastAccessTime(String, DateTime)

Ustawia datę i godzinę ostatniego uzyskania dostępu do określonego pliku.

SetLastAccessTimeUtc(SafeFileHandle, DateTime)

Ustawia datę i godzinę w uniwersalnym czasie koordynowanym (UTC), do którego ostatnio uzyskiwano dostęp do określonego pliku lub katalogu.

SetLastAccessTimeUtc(String, DateTime)

Ustawia datę i godzinę w uniwersalnym czasie koordynowanym (UTC), do którego ostatnio uzyskiwano dostęp do określonego pliku.

SetLastWriteTime(SafeFileHandle, DateTime)

Ustawia datę i godzinę ostatniego zapisania określonego pliku lub katalogu.

SetLastWriteTime(String, DateTime)

Ustawia datę i godzinę ostatniego zapisania określonego pliku.

SetLastWriteTimeUtc(SafeFileHandle, DateTime)

Ustawia datę i godzinę w uniwersalnym czasie koordynowanym (UTC), do którego ostatnio został zapisany określony plik lub katalog.

SetLastWriteTimeUtc(String, DateTime)

Ustawia datę i godzinę w uniwersalnym czasie koordynowanym (UTC), do którego ostatnio został zapisany określony plik.

SetUnixFileMode(SafeFileHandle, UnixFileMode)

Ustawia określony UnixFileMode uchwyt pliku.

SetUnixFileMode(String, UnixFileMode)

Ustawia określony UnixFileMode plik w określonej ścieżce.

WriteAllBytes(String, Byte[])

Tworzy nowy plik, zapisuje określoną tablicę bajtów w pliku, a następnie zamyka plik. Jeśli plik docelowy już istnieje, zostanie obcięty i zastąpiony.

WriteAllBytesAsync(String, Byte[], CancellationToken)

Asynchronicznie tworzy nowy plik, zapisuje określoną tablicę bajtów w pliku, a następnie zamyka plik. Jeśli plik docelowy już istnieje, zostanie obcięty i zastąpiony.

WriteAllLines(String, IEnumerable<String>)

Tworzy nowy plik, zapisuje kolekcję ciągów w pliku, a następnie zamyka plik.

WriteAllLines(String, IEnumerable<String>, Encoding)

Tworzy nowy plik przy użyciu określonego kodowania, zapisuje kolekcję ciągów w pliku, a następnie zamyka plik.

WriteAllLines(String, String[])

Tworzy nowy plik, zapisuje określoną tablicę ciągów w pliku, a następnie zamyka plik.

WriteAllLines(String, String[], Encoding)

Tworzy nowy plik, zapisuje w pliku określoną tablicę ciągów przy użyciu określonego kodowania, a następnie zamyka plik.

WriteAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Asynchronicznie tworzy nowy plik, zapisuje określone wiersze w pliku, a następnie zamyka plik.

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

Asynchronicznie tworzy nowy plik, zapisz określone wiersze w pliku przy użyciu określonego kodowania, a następnie zamyka plik.

WriteAllText(String, String)

Tworzy nowy plik, zapisuje określony ciąg w pliku, a następnie zamyka plik. Jeśli plik docelowy już istnieje, zostanie obcięty i zastąpiony.

WriteAllText(String, String, Encoding)

Tworzy nowy plik, zapisuje określony ciąg w pliku przy użyciu określonego kodowania, a następnie zamyka plik. Jeśli plik docelowy już istnieje, zostanie obcięty i zastąpiony.

WriteAllTextAsync(String, String, CancellationToken)

Asynchronicznie tworzy nowy plik, zapisuje określony ciąg w pliku, a następnie zamyka plik. Jeśli plik docelowy już istnieje, zostanie obcięty i zastąpiony.

WriteAllTextAsync(String, String, Encoding, CancellationToken)

Asynchronicznie tworzy nowy plik, zapisuje określony ciąg w pliku przy użyciu określonego kodowania, a następnie zamyka plik. Jeśli plik docelowy już istnieje, zostanie obcięty i zastąpiony.

Dotyczy

Zobacz też