Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Для работы с двоичными файлами ваша программа должна вначале создать поток класса FileStream, воспользовавшись соответствующим конструктором, например:
FileStream fs = new FileStream("mayfile.dat", FileMode.CreateNew);
В качестве первого параметра конструктору необходимо передать полный путь к файлу или имя файла, а в качестве второго — режим открытия потока (табл. 4.1).
Таблица 4.1 - Режимы открытия файла FileMode
Режим | Описание | ||
Append | Если файл существует, он открывается. Текущая позиция устанавливается на конец файла. Если указанного файла нет, то он создается. Этот режим можно использовать только совместно с режимом доступа FileAccess.Write. При попытке чтения из файла, открытого подобным образом, возникает исключение ArgumentException | ||
Create | ОС должна создать новый файл. Если указанный файл уже существует, он будет перезаписан | ||
CreateNew | ОС должна создать новый файл. Если указанный файл уже существует, возникнет исключение IOException | ||
Open | Требуется открыть существующий файл. Необходим доступ FilelOPerraissionAccess.Read. Если требуемый файл не найден, возникает исключение System.FileNotFoundException | ||
OpenOrCreate | Если указанный файл существует, он должен быть открыт. В противном случае ОС должна создать и открыть указанный файл | ||
Truncate | Требуется открыть существующий файл. После открытия файл обрезается до нулевой длины, при этом все ранее хранившиеся в нем данные пропадают. При попытке чтения из файла, открытого подобным образом, возникает исключение | ||
В зависимости от того, для какой цели создается файл, вы можете выбрать тот или иной режим открытия потока. Например, если поток, связанный с файлом, открывается только для чтения, выбирайте режим FileMode.Open. В этом случае будет открыт существующий файл. Если же файл открывается для записи, то вы можете либо открыть существующий файл, перезаписав его содержимое или дописав в него новые данные, а также создать новый файл.
В классе FileStream существует несколько конструкторов, позволяющих определить не только путь к файлу, но и режим его открытия, разрешенный доступ к файлу и режим совместного использования файла:
FileStream fs = new FileStream(name, FileMode.Open, FileAccess.Read);
FileStream fsl = new FileStream(name, FileMode.Open, FileAccess.Read, FileShare.Read);
Остановимся на режиме доступа к файлу, передаваемом приведенным выше конструкторам через третий параметр (табл. 4.2). Режим доступа задается как статическая константа класса FileAccess.
Таблица 4.2 - Режимы доступа FileAccess
Режим | Тип доступа |
Read | Доступ только на чтение |
ReadWrite | Доступ на чтение и запись |
Write | Доступ на запись |
При необходимости программа может задать режим совместного использования файла, когда для одного и того же файла одновременно создается несколько потоков. Этот режим задается при помощи статических констант класса FileShare (табл. 4.3).
Таблица 4.3 - Режимы совместного использования файла FileShare
Дата публикования: 2015-10-09; Прочитано: 336 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!