AppendText() | Создает объект StreamWriter (описанный ниже) и добавляет текст в файл |
СоруТо() | Копирует существующий файл в новый файл |
Create() | Создает новый файл и возвращает для него объект FileStream (описанный ниже) |
CreateText() | Создает объект StreamWriter, записывающий новый текстовый файл |
Delete() | Удаляет файл, к которому привязан экземпляр Filelnfo |
Directory | Получает экземпляр родительского каталога |
DirectoryName | Получает полный путь к родительскому каталогу |
Length | Получает размер текущего файла или каталога |
MoveTo() | Перемещает указанный файл в новое местоположение, предоставляя возможность указать новое имя файла |
Name | Получает имя файла |
Open() | Открывает файл с различными привилегиями чтения/записи и совместного доступа |
OpenText() | Создает для файла объект StreamReader (описанный ниже) |
OpenRead() | Создает доступный только для чтения объект FileStream |
OpenWrite() | Создает доступный только для записи объект FileStream |
Пример создания файла:
f = new FileInfo(@"d:\test.dat");
f.Create();
Среди методов создания/открытия файлов наиболее гибким является метод Open(). Первый его параметр принимает значение из перечисления FileMode, описывающего, как именно должен быть создан/открыт файл:
CreateNew | Создать новый файл. Если файл уже существует, генерируется исключение IOException |
Create | Создать новый файл. Если файл уже существует, он будет перезаписан |
Open | Открыть существующий файл. Если файл не существует, генерируется исключение FileNotFoundException |
OpenOrCreate | Открыть файл, если он существует. Иначе создать новый |
Truncate | Открыть файл и усечь его до нулевой длины |
Append | Открывает файл, переходит в его конец и начинает операции записи. Если файл не существует, то создается новый |
Второй параметр метода Ореп() — значение перечисления FileAccess — используется для определения поведения чтения/записи лежащего в основе потока:
public enum FileAccess { Read, Write, ReadWrite }
И, наконец, третий параметр метода Open() — FileShare — указывает, как файл может быть разделен с другими файловыми дескрипторами. Ниже перечислены его возможные значения:
public enum FileShare { Delete, Inheritable, None, Read, ReadWrite, Write }
Классы Directory и File предоставляют функциональность, практически идентичную классам DirectoryInfo и FileInfo, однако через статические члены. Т.е следующие примеры имеют идентичную функциональность:
FileInfo f = new FileInfo(@"C:\Test2.dat");
FileStream fs = f.Create();
FileStream fs = File.Create(@"C:\Test2.dat");