Чтобы создать байтовый поток, связанный с файлом, можно создать объект класса FileStream.

рис.7
В классе FileStream определено несколько конструкторов. Чаще всего из них используется следующий:
FileStream (string filename, FileMode mode)
Filename - путь к файлу, который необходимо открыть.
Mode - режим открытия файла.
Этот конструктор открывает файл для доступа с разрешением чтения и записи.
Примеры путей: Буквальные литералы:
"c:\\MyDir\\MyFile.txt" @"c:\MyDir\MyFile.txt"
"c:\\MyDir" @"c:\MyDir"
"MyDir\\MySubdir" @"MyDir\MySubdir"
"\\\\MyServer\\MyShare" @"\\MyServer\MyShare"
Таблица. Значения перечисления FileMode
| Значение | Описание |
| FileMode.Append | Добавляет выходные данные в конец файла |
| FileMode.Create | Создает новый выходной файл. Существующий файл с таким же именем будет разрушен |
| FileMode.CreateNew | Создает новый выходной файл. Файл с таким же именем не должен существовать |
| FileMode.Open | Открывает существующий файл |
| FileMode.OpenOrCreate | Открывает файл, если он существует. В противном случае создает новый |
| FileMode.Truncate | Открывает существующий файл, но усекает его длину до нуля |
Исключения:
| IOException | файл невозможно открыть из-за ошибки ввода-вывода |
| FileNotFoundException | файл невозможно открыть по причине его отсутствия |
| ArgumentNullException | имя файла представляет собой null-значение |
| ArgumentException | некорректен параметр mode |
| SecurityException | пользователь не обладает правами доступа |
| DirectoryNotFoundException | некорректно задан каталог |
Пример.
FileStream fin;
fin = new FileStream("test.dat", FileMode.Open);
Если необходимо ограничить доступ только чтением или только записью, используйте следующий конструктор:
FileStream (string filename, FileMode mode, FileAccess how)
Значения перечисления FileAccess
| FileAccess.Read | только читать |
| FileAccess.Write | только писать |
| FileAccess.ReadWrite | читать и писать |
Пример.
FileStream fin;
fin = new FileStream("test.dat", FileMode.Open, FileAccess.Read);
Закрытие файла
Дата добавления: 2019-02-08; просмотров: 860;











