Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование / Конспект лекций (C#).pdf
Скачиваний:
864
Добавлен:
27.05.2015
Размер:
2.03 Mб
Скачать

8 Работа с файлами

Для работы с файлами C# предоставляет набор классов, обеспечивающих, как операции манипулирования файлами (например, копирование, удаление, открытие и т.д.), так и операции работы с данными, содержащимися в файле (чтение, запись).

8.1 Класс File

Класс File предоставляет статические методы для создания, копирования, удаления, перемещения и открытия файлов, а также помогает при создании объек-

тов FileStream.

Класс расположен в пространстве имён System.IO.

По умолчанию всем пользователям предоставляется полный доступ к новым файлам с правом на чтение и запись. Однако для настройки некоторых методов класса могут использоваться перечисления, указанный в таблице 8.1.

Таблица 8.1 – Перечисления, используемые для настройки методов класса File

Наименование

Назначение

 

Значения

FileMode

Определяет

 

CreateNew – создание нового файла. Если файл

 

режим работы

 

существует, то вызывается исключение;

 

с файлом

 

Create – создание нового файла. Если файл

 

 

 

существует, то он перезаписывается;

 

 

Open – открытие файла. Если файл не суще-

 

 

 

ствует, то вызывается исключение;

 

 

OpenOrCreate – открытие файла. Если файл не

 

 

 

существует, то создаётся новый файл;

 

 

 

Truncate – открытие файла и удаление из него

 

 

 

всех данных;

 

 

 

Append – открытие файла на дозапись.

FileAccess

Определяет

 

Read – открытие файла для чтения;

 

доступные

 

Write – открытие файла для записи;

 

операции для

 

ReadWrite – открытие файла для чтения и за-

 

файла

 

писи.

FileShare

Определяет тип

 

None – запрет доступа;

 

совместного

 

Read – разрешает доступ к файлу для чтения;

 

доступа к

 

Write – разрешает доступ к файлу для записи;

 

файлу

 

ReadWrite – разрешает доступ к файлу для

 

 

 

чтения и для записи;

 

 

 

Delete – разрешает доступ к файлу для удале-

 

 

 

ния.

125

Некоторые члены класса File приведены в таблице 8.2.

Таблица 8.2 – Некоторые члены класса File

Наименование

Описание

Copy

Копирует файл sourceFileName в

(string sourceFileName,

destFileName

string destFileName)

 

Delete

Удаляет файл path

(string path)

 

Exists

Возвращает true, если файл path существует, и

(string path)

false в противном случае

 

Move

Перемещает или переименовывает файл

(string sourceFileName,

sourceFileName в destFileName

string destFileName)

 

 

 

Replace

Заменяет содержимое файла

(string sourceFileName,

destinationFileName на содержимое файла

string

sourceFileName создавая резервную копию

destinationFileName,

destinationBackupFileName. Если копию

string

создавать не требуется, то вместо третьего

destinationBackupFileName)

параметра указывается null

Open

Открывает файл path с требуемыми

(string path,

параметрами mode, access, share. Возвращает

FileMode mode

объект класса FileStream для работы с

[,FileAccess access

файлом

[,FileShare share]])

 

 

 

Create

Создает новый или перезаписывает

(string path)

существующий файл path. Возвращает объект

 

класса FileStream для работы с файлом

CreateText

Создает новый или перезаписывает

(string path)

существующий файл path в кодировке UTF-8.

 

Возвращает объект класса StreamWriter для

 

записи в файл

OpenRead

Открывает файл path для чтения. Возвращает

(string path)

объект класса FileStream для чтения из файла

 

OpenWrite

Открывает файл path для записи. Возвращает

(string path)

объект класса FileStream для записи в файл

 

OpenText

Открывает файл path для чтения. Возвращает

(string path)

объект класса StreamReader, позволяющий

 

 

читать данные из файла с текстом в кодировке

 

UTF-8

AppendText

Открывает файл path для дозаписи. Возвращает

(string path)

объект класса StreamWriter, позволяющий

 

 

добавлять в существующий файл текст в

 

кодировке UTF-8

126