Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Открытие потока FileStream



Для работы с двоичными файлами ваша программа должна вначале создать поток класса 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...