Чтобы создать байтовый поток, связанный с файлом, можно создать объект класса 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; просмотров: 643;