File Класс

Определение

Предоставляет статические методы для создания, копирования, удаления, перемещения и открытия одного файла, а также помогает при создании объектов FileStream.Provides static methods for the creation, copying, deletion, moving, and opening of a single file, and aids in the creation of FileStream objects.

public ref class File abstract sealed
[System.Runtime.InteropServices.ComVisible(true)]
public static class File
type File = class
Public Class File
Наследование
File
Атрибуты

Примеры

В следующем примере показано, как использовать класс File для проверки существования файла и, в зависимости от результата, создать новый файл и выполнить запись в него или открыть существующий файл и выполнить чтение из него.The following example demonstrates how to use the File class to check whether a file exists, and depending on the result, either create a new file and write to it, or open the existing file and read from it. Перед выполнением кода создайте папку c:\temp.Before running the code, create a c:\temp 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);
            }
        }
    }
}
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

Комментарии

Используйте класс File для стандартных операций, таких как копирование, перемещение, переименование, создание, открытие, удаление и добавление в один файл за раз.Use the File class for typical operations such as copying, moving, renaming, creating, opening, deleting, and appending to a single file at a time. Можно также использовать класс File для получения и задания атрибутов файлов или DateTime сведений, связанных с созданием, доступом и записью файла.You can also use the File class to get and set file attributes or DateTime information related to the creation, access, and writing of a file. Если вы хотите выполнить операции с несколькими файлами, см. статью Directory.GetFiles или DirectoryInfo.GetFiles.If you want to perform operations on multiple files, see Directory.GetFiles or DirectoryInfo.GetFiles.

Многие из File методов возвращают другие типы ввода-вывода при создании или открытии файлов.Many of the File methods return other I/O types when you create or open files. Эти другие типы можно использовать для дальнейшего управления файлом.You can use these other types to further manipulate a file. Дополнительные сведения см. в разделе определенные File члены, такие как OpenText, CreateTextили Create.For more information, see specific File members such as OpenText, CreateText, or Create.

Поскольку все File методы являются статическими, более эффективным будет использование метода File, а не соответствующего метода экземпляра FileInfo, если требуется выполнить только одно действие.Because all File methods are static, it might be more efficient to use a File method rather than a corresponding FileInfo instance method if you want to perform only one action. Для всех методов File требуется путь к обрабатываемому файлу.All File methods require the path to the file that you are manipulating.

Статические методы класса File выполняют проверку безопасности для всех методов.The static methods of the File class perform security checks on all methods. Если вы собираетесь повторно использовать объект несколько раз, рассмотрите возможность использования соответствующего метода экземпляра FileInfo вместо этого, так как проверка безопасности не всегда будет требоваться.If you are going to reuse an object several times, consider using the corresponding instance method of FileInfo instead, because the security check will not always be necessary.

По умолчанию всем пользователям предоставляется полный доступ на чтение и запись к новым файлам.By default, full read/write access to new files is granted to all users.

В следующей таблице описаны перечисления, используемые для настройки поведения различных методов File.The following table describes the enumerations that are used to customize the behavior of various File methods.

ПеречислениеEnumeration ОписаниеDescription
FileAccess Указывает доступ к файлу для чтения и записи.Specifies read and write access to a file.
FileShare Указывает уровень доступа, разрешенный для уже используемого файла.Specifies the level of access permitted for a file that is already in use.
FileMode Указывает, будет ли содержимое существующего файла сохранено или перезаписано, и должны ли запросы на создание существующего файла вызывать исключение.Specifies whether the contents of an existing file are preserved or overwritten, and whether requests to create an existing file cause an exception.

Примечание

В членах, принимающих путь в качестве входной строки, этот путь должен иметь правильный формат или возникнет исключение.In members that accept a path as an input string, that path must be well-formed or an exception is raised. Например, если путь является полным, но начинается с пробела, путь не усекается в методах класса.For example, if a path is fully qualified but begins with a space, the path is not trimmed in methods of the class. Поэтому путь имеет неправильный формат и возникает исключение.Therefore, the path is malformed and an exception is raised. Аналогично, путь или сочетание путей не могут быть полными и дважды.Similarly, a path or a combination of paths cannot be fully qualified twice. Например, "c:\temp c:\Windows" также вызывает исключение в большинстве случаев.For example, "c:\temp c:\windows" also raises an exception in most cases. При использовании методов, принимающих строку пути, убедитесь, что пути имеют правильный формат.Ensure that your paths are well-formed when using methods that accept a path string.

В членах, принимающих путь, путь может ссылаться на файл или только на каталог.In members that accept a path, the path can refer to a file or just a directory. Указанный путь может также ссылаться на относительный путь или путь в формате UNC для имени сервера и общего ресурса.The specified path can also refer to a relative path or a Universal Naming Convention (UNC) path for a server and share name. Например, все следующие допустимые пути:For example, all the following are acceptable paths:

  • "c:\\\MyDir\\\MyFile.txt" в C#или"c:\MyDir\MyFile.txt"в Visual Basic."c:\\\MyDir\\\MyFile.txt" in C#, or "c:\MyDir\MyFile.txt" in Visual Basic.

  • "c:\\\MyDir" в C#или"c:\MyDir"в Visual Basic."c:\\\MyDir" in C#, or "c:\MyDir" in Visual Basic.

  • "MyDir\\\MySubdir" в C#или"MyDir\MySubDir"в Visual Basic."MyDir\\\MySubdir" in C#, or "MyDir\MySubDir" in Visual Basic.

  • "\\\\\\\MyServer\\\MyShare" в C#или"\\\MyServer\MyShare"в Visual Basic."\\\\\\\MyServer\\\MyShare" in C#, or "\\\MyServer\MyShare" in Visual Basic.

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.For a list of common I/O tasks, see Common I/O Tasks.

Методы

AppendAllLines(String, IEnumerable<String>)

Добавляет строки в файл, затем закрывает файл.Appends lines to a file, and then closes the file. Если указанный файл не существует, этот метод создает файл, записывает в него указанные строки и затем закрывает файл.If the specified file does not exist, this method creates a file, writes the specified lines to the file, and then closes the file.

AppendAllLines(String, IEnumerable<String>, Encoding)

Добавляет строки в файл, используя заданную кодировку, затем закрывает файл.Appends lines to a file by using a specified encoding, and then closes the file. Если указанный файл не существует, этот метод создает файл, записывает в него указанные строки и затем закрывает файл.If the specified file does not exist, this method creates a file, writes the specified lines to the file, and then closes the file.

AppendAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Асинхронно добавляет строки в файл, затем закрывает файл.Asynchronously appends lines to a file, and then closes the file. Если указанный файл не существует, этот метод создает файл, записывает в него указанные строки и затем закрывает файл.If the specified file does not exist, this method creates a file, writes the specified lines to the file, and then closes the file.

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

Асинхронно добавляет строки в файл, используя заданную кодировку, затем закрывает файл.Asynchronously appends lines to a file by using a specified encoding, and then closes the file. Если указанный файл не существует, этот метод создает файл, записывает в него указанные строки и затем закрывает файл.If the specified file does not exist, this method creates a file, writes the specified lines to the file, and then closes the file.

AppendAllText(String, String)

Открывает файл, добавляет в него указанную строку и затем закрывает файл.Opens a file, appends the specified string to the file, and then closes the file. Если файл не существует, этот метод создает файл, записывает в него указанную строку и затем закрывает файл.If the file does not exist, this method creates a file, writes the specified string to the file, then closes the file.

AppendAllText(String, String, Encoding)

Добавляет указанную строку в файл в указанной кодировке, создавая файл, если он не существует.Appends the specified string to the file using the specified encoding, creating the file if it does not already exist.

AppendAllTextAsync(String, String, CancellationToken)

Асинхронно открывает или создает файл, если он еще не существует, добавляет указанную строку в файл, а затем закрывает файл.Asynchronously opens a file or creates a file if it does not already exist, appends the specified string to the file, and then closes the file.

AppendAllTextAsync(String, String, Encoding, CancellationToken)

Асинхронно открывает или создает файл, если он еще не существует, добавляет указанную строку в файл в указанной кодировке, а затем закрывает файл.Asynchronously opens a file or creates the file if it does not already exist, appends the specified string to the file using the specified encoding, and then closes the file.

AppendText(String)

Создает объект StreamWriter, добавляющий текст с кодировкой UTF-8 в существующий файл, или в новый файл, если указанный файл не существует.Creates a StreamWriter that appends UTF-8 encoded text to an existing file, or to a new file if the specified file does not exist.

Copy(String, String)

Копирует существующий файл в новый файл.Copies an existing file to a new file. Перезапись файла с тем же именем не разрешена.Overwriting a file of the same name is not allowed.

Copy(String, String, Boolean)

Копирует существующий файл в новый файл.Copies an existing file to a new file. Перезапись файла с тем же именем разрешена.Overwriting a file of the same name is allowed.

Create(String)

Создает или перезаписывает файл в указанном пути.Creates or overwrites a file in the specified path.

Create(String, Int32)

Создает или перезаписывает файл по заданному пути с указанием размер буфера.Creates or overwrites a file in the specified path, specifying a buffer size.

Create(String, Int32, FileOptions)

Создает или перезаписывает файл по заданному пути с указанием размера буфера и параметров, которые описывают, как создавать или перезаписывать файл.Creates or overwrites a file in the specified path, specifying a buffer size and options that describe how to create or overwrite the file.

Create(String, Int32, FileOptions, FileSecurity)

Создает или перезаписывает файл по заданному пути с указанием размера буфера и параметров, которые описывают, как создавать или перезаписывать файл. Также указывается значение, определяющее контроль доступа и безопасность аудита для файла.Creates or overwrites a file in the specified path, specifying a buffer size, options that describe how to create or overwrite the file, and a value that determines the access control and audit security for the file.

CreateText(String)

Создается или открывается файл для записи текста в кодировке UTF-8.Creates or opens a file for writing UTF-8 encoded text. Если файл уже существует, его содержимое перезаписывается.If the file already exists, its contents are overwritten.

Decrypt(String)

Расшифровывает файл, зашифрованный текущей учетной записью с помощью метода Encrypt(String).Decrypts a file that was encrypted by the current account using the Encrypt(String) method.

Delete(String)

Удаляет указанный файл.Deletes the specified file.

Encrypt(String)

Шифрует файл таким образом, чтобы его можно было расшифровать только с помощью учетной записи, которая использовалась для шифрования.Encrypts a file so that only the account used to encrypt the file can decrypt it.

Exists(String)

Определяет, существует ли заданный файл.Determines whether the specified file exists.

GetAccessControl(String)

Получает объект FileSecurity, который инкапсулирует записи списка ACL для заданного файла.Gets a FileSecurity object that encapsulates the access control list (ACL) entries for a specified file.

GetAccessControl(String, AccessControlSections)

Получает объект FileSecurity, инкапсулирующий записи списка ACL определенного типа для конкретного файла.Gets a FileSecurity object that encapsulates the specified type of access control list (ACL) entries for a particular file.

GetAttributes(String)

Получает значение FileAttributes для файла в пути.Gets the FileAttributes of the file on the path.

GetCreationTime(String)

Возвращает дату и время создания заданного файла или каталога.Returns the creation date and time of the specified file or directory.

GetCreationTimeUtc(String)

Возвращает дату и время создания заданного файла или каталога в формате общего скоординированного времени (UTC).Returns the creation date and time, in coordinated universal time (UTC), of the specified file or directory.

GetLastAccessTime(String)

Возвращает время и дату последнего обращения к указанному файлу или каталогу.Returns the date and time the specified file or directory was last accessed.

GetLastAccessTimeUtc(String)

Возвращает дату и время последнего доступа к заданному файлу или каталогу в формате всемирного координированного времени (UTC).Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed.

GetLastWriteTime(String)

Возвращает время и дату последней операции записи в указанный файл или каталог.Returns the date and time the specified file or directory was last written to.

GetLastWriteTimeUtc(String)

Возвращает дату и время последней операции записи в заданный файл или каталог в формате всемирного координированного времени (UTC).Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to.

Move(String, String)

Перемещает заданный файл в новое местоположение и разрешает переименование файла.Moves a specified file to a new location, providing the option to specify a new file name.

Move(String, String, Boolean)

Перемещает указанный файл в новое расположение, предоставляя параметры для указания нового имени файла и перезаписи конечного файла, если он уже существует.Moves a specified file to a new location, providing the options to specify a new file name and to overwrite the destination file if it already exists.

Open(String, FileMode)

Открывает объект FileStream по указанному пути с доступом для чтения и записи без совместного доступа.Opens a FileStream on the specified path with read/write access with no sharing.

Open(String, FileMode, FileAccess)

Открывает FileStream в заданном пути с заданным режимом и доступом без совместного доступа.Opens a FileStream on the specified path, with the specified mode and access with no sharing.

Open(String, FileMode, FileAccess, FileShare)

Открывает FileStream в заданном пути, с заданным режимом доступа для чтения, записи или чтения и записи и с заданным параметром совместного использования.Opens a FileStream on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option.

OpenRead(String)

Открывает для чтения существующий файл.Opens an existing file for reading.

OpenText(String)

Открывает для чтения существующий файл, содержащий текст в кодировке UTF-8.Opens an existing UTF-8 encoded text file for reading.

OpenWrite(String)

Открывает существующий файл или создает новый файл для записи.Opens an existing file or creates a new file for writing.

ReadAllBytes(String)

Открывает двоичный файл, считывает содержимое файла в массив байтов и затем закрывает файл.Opens a binary file, reads the contents of the file into a byte array, and then closes the file.

ReadAllBytesAsync(String, CancellationToken)

Асинхронно открывает двоичный файл, считывает содержимое файла в массив байтов и затем закрывает файл.Asynchronously opens a binary file, reads the contents of the file into a byte array, and then closes the file.

ReadAllLines(String)

Открывает текстовый файл, считывает все строки файла и затем закрывает файл.Opens a text file, reads all lines of the file, and then closes the file.

ReadAllLines(String, Encoding)

Открывает файл, считывает все строки файла с заданной кодировкой и затем закрывает файл.Opens a file, reads all lines of the file with the specified encoding, and then closes the file.

ReadAllLinesAsync(String, CancellationToken)

Асинхронно открывает текстовый файл, считывает все строки файла и затем закрывает файл.Asynchronously opens a text file, reads all lines of the file, and then closes the file.

ReadAllLinesAsync(String, Encoding, CancellationToken)

Асинхронно открывает текстовый файл, считывает все строки файла с заданной кодировкой и затем закрывает файл.Asynchronously opens a text file, reads all lines of the file with the specified encoding, and then closes the file.

ReadAllText(String)

Открывает текстовый файл, считывает весь текст файла и затем закрывает файл.Opens a text file, reads all the text in the file, and then closes the file.

ReadAllText(String, Encoding)

Открывает файл, считывает весь текст файла с заданной кодировкой и затем закрывает файл.Opens a file, reads all text in the file with the specified encoding, and then closes the file.

ReadAllTextAsync(String, CancellationToken)

Асинхронно открывает текстовый файл, считывает весь текст файла и затем закрывает файл.Asynchronously opens a text file, reads all the text in the file, and then closes the file.

ReadAllTextAsync(String, Encoding, CancellationToken)

Асинхронно открывает текстовый файл, считывает весь текст из файла с заданной кодировкой и затем закрывает файл.Asynchronously opens a text file, reads all text in the file with the specified encoding, and then closes the file.

ReadLines(String)

Считывает строки файла.Reads the lines of a file.

ReadLines(String, Encoding)

Считывает строки файла с заданной кодировкой.Read the lines of a file that has a specified encoding.

Replace(String, String, String)

Заменяет содержимое заданного файла на содержимое другого файла, удаляя исходный файл и создавая резервную копию замененного файла.Replaces the contents of a specified file with the contents of another file, deleting the original file, and creating a backup of the replaced file.

Replace(String, String, String, Boolean)

Заменяет содержимое заданного файла на содержимое другого файла, удаляя исходный файл и создавая резервную копию замененного файла, и при необходимости игнорирует ошибки слияния.Replaces the contents of a specified file with the contents of another file, deleting the original file, and creating a backup of the replaced file and optionally ignores merge errors.

SetAccessControl(String, FileSecurity)

Применяет записи списка управления доступом (ACL), описанные объектом FileSecurity, к заданному файлу.Applies access control list (ACL) entries described by a FileSecurity object to the specified file.

SetAttributes(String, FileAttributes)

Устанавливает заданные атрибуты FileAttributes файла по заданному пути.Sets the specified FileAttributes of the file on the specified path.

SetCreationTime(String, DateTime)

Устанавливает дату и время создания файла.Sets the date and time the file was created.

SetCreationTimeUtc(String, DateTime)

Устанавливает дату и время создания файла, представленные в формате общего скоординированного времени (UTC).Sets the date and time, in coordinated universal time (UTC), that the file was created.

SetLastAccessTime(String, DateTime)

Устанавливаются дата и время последнего доступа к заданному файлу.Sets the date and time the specified file was last accessed.

SetLastAccessTimeUtc(String, DateTime)

Устанавливает дату и время последнего доступа к заданному файлу в формате всемирного координированного времени (UTC).Sets the date and time, in coordinated universal time (UTC), that the specified file was last accessed.

SetLastWriteTime(String, DateTime)

Устанавливаются дата и время последней операции записи в заданный файл.Sets the date and time that the specified file was last written to.

SetLastWriteTimeUtc(String, DateTime)

Устанавливает дату и время последней операции записи в заданный файл в формате всемирного координированного времени (UTC).Sets the date and time, in coordinated universal time (UTC), that the specified file was last written to.

WriteAllBytes(String, Byte[])

Создает новый файл, записывает в него указанный массив байтов и затем закрывает файл.Creates a new file, writes the specified byte array to the file, and then closes the file. Если целевой файл уже существует, он будет переопределен.If the target file already exists, it is overwritten.

WriteAllBytesAsync(String, Byte[], CancellationToken)

Асинхронно создает новый файл, записывает в него указанный массив байтов и затем закрывает файл.Asynchronously creates a new file, writes the specified byte array to the file, and then closes the file. Если целевой файл уже существует, он будет переопределен.If the target file already exists, it is overwritten.

WriteAllLines(String, IEnumerable<String>)

Создает новый файл, записывает в него коллекцию строк, затем закрывает файл.Creates a new file, writes a collection of strings to the file, and then closes the file.

WriteAllLines(String, IEnumerable<String>, Encoding)

Создает новый файл, используя указанную кодировку, записывает коллекцию строк в этот файл, затем закрывает файл.Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.

WriteAllLines(String, String[])

Создает новый файл, записывает в него указанный массив строк и затем закрывает файл.Creates a new file, write the specified string array to the file, and then closes the file.

WriteAllLines(String, String[], Encoding)

Создает новый файл, записывает указанный массив строк в этот файл, используя заданную кодировку, затем закрывает файл.Creates a new file, writes the specified string array to the file by using the specified encoding, and then closes the file.

WriteAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Асинхронно создает новый файл, записывает в него указанные строки и затем закрывает файл.Asynchronously creates a new file, writes the specified lines to the file, and then closes the file.

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

Асинхронно создает новый файл, записывает указанные строки в этот файл, используя заданную кодировку, затем закрывает файл.Asynchronously creates a new file, write the specified lines to the file by using the specified encoding, and then closes the file.

WriteAllText(String, String)

Создает новый файл, записывает в него указанную строку и затем закрывает файл.Creates a new file, writes the specified string to the file, and then closes the file. Если целевой файл уже существует, он будет переопределен.If the target file already exists, it is overwritten.

WriteAllText(String, String, Encoding)

Создает новый файл, записывает указанную строку в этот файл, используя заданную кодировку, и затем закрывает файл.Creates a new file, writes the specified string to the file using the specified encoding, and then closes the file. Если целевой файл уже существует, он будет переопределен.If the target file already exists, it is overwritten.

WriteAllTextAsync(String, String, CancellationToken)

Асинхронно создает новый файл, записывает в него указанную строку и затем закрывает файл.Asynchronously creates a new file, writes the specified string to the file, and then closes the file. Если целевой файл уже существует, он будет переопределен.If the target file already exists, it is overwritten.

WriteAllTextAsync(String, String, Encoding, CancellationToken)

Асинхронно создает новый файл, записывает указанную строку в этот файл, используя заданную кодировку, и затем закрывает файл.Asynchronously creates a new file, writes the specified string to the file using the specified encoding, and then closes the file. Если целевой файл уже существует, он будет переопределен.If the target file already exists, it is overwritten.

Применяется к

Дополнительно