| Индекс материала |
|---|
| 14. Файлы |
| Работа с каталогами и файлами |
|
В .NET Framework - существует механизм обработки данных, не зависящий от источника. Этот механизм основан на понятии потока (stream), поскольку все данные могут быть представлены в виде потока байтов. Поток - это сущность, допускающая операции чтения и записи, например файлы, данные, получаемые по сети, данные в области памяти.
Класс Stream
Большинство операций ввода-вывода реализованы в пространстве имен SystemIO. Для выполнения этих операций используется абстрактный класс Stream.
Основные классы, производные от Stream
| Класс | Описание |
| FileStream | Доступ к файлам |
| MemoryStream | Блок памяти (часто используется при работе с буферами) |
| NetworkStream | Данные, полученные в виде потока по сетевому соединению |
Основные свойства и методы класса Stream:
| Метод / свойство | Описание |
| CanRead | Признак поддержки чтения |
| CanWrite | Признак поддержки записи |
| CanSeek | Признак поддержки перемещения в потоке |
| Read | Чтение заданного количества байтов, начиная с текущей позиции. Возвращает количество успешно прочитанных байтов |
| ReadByte | Чтение отдельного байта. Если текущая позиция находится в конце потока, возвращает -1 |
| Write | Запись заданного количества байтов начиная с текущей позиции |
| WriteByte | Запись отдельного байта |
| Length | Длина потока в байтах |
| Position | Позиция в текущем потоке |
| Flush | Запись данных и очищение всех буферов, используемых потоком |
| Close | Закрыть поток и освободить используемые ресурсы |
Класс FileStream
Файл - основная единица файловой системы, предназначенная для хранения информации. При открытии для чтения/записи файл становится потоком.
Класс FileStream используется для открытия, чтения, записи и закрытия файлов. Для открытия файла или создания нового нужно создать объект класса FileStream
FileStream(ByVal strFileName As String, ByVal fm As FileMode, ByVal fa As FileAccess, ByVal fs As FileShare)
где, strFileName определяет имя файла;
FileMode определяет операцию с файлом;
Перечисление FileMode
| Значение | Описание |
| CreateNew | Создать файл. Ошибка, если файл существует. |
| Create | Создать файл. Если файл существует, его содержимое удаляется |
| Open | Открыть файл. Ошибка, если файл не существует |
| OpenOrCreate | Открыть файл. Если файла не существует, создать |
| Append | Поместить указатель в конец файла. Создать файл если не существует |
FileAccess указывает режим доступа к файлу;
Перечисление FileAccess
| Значение | Описание |
| Read | Открыть для чтения |
| Write | Открыть для записи |
| ReadWrite | Открыть для чтения и записи (по умолчанию) |
FileShare позволяет указать режим совместного доступа к файлу.
Перечисление FileShare
| Значение | Описание |
| None | Запретить доступ других процессов к файлу (по умолчанию) |
| Read | Разрешить другим процессам чтение из файла |
| Write | Разрешить другим процессам запись в файл |
| ReadWrite | Полный доступ к файлу |
Основные методы и свойства класса FileStream
| Метод / свойство | Описание |
|
| Handle | Файловый манипулятор операционной системы для файла |
|
| Position | Текущая позиция в файле. Нумерация позиций начинается с нуля. Перейти в конец файла можно с помощью свойства Length |
|
| Lock | Блокирует доступ к файлу или его части со стороны других процессов | |
| Seek | Устанавливает указатель текущей позиции в заданное положение. Точка отсчета определяется значениями Begin, Сurrent или End | |
| Unlock | Снимает блокировку с ранее заблокированной части файла |
Свойство Length и методы Write, WriteByte, Read, ReadByte, Close аналогичны методам класса Stream. Свойство CanSeek всегда равно True для открытых файлов.
Класс Environment
Класс Environment позволяет получать значения переменных среды. Методы GetLogicalDrives и GetFolderPath возвращают информацию о файловой системе.
Свойство CurrentDirectory позволяет выяснить или установить текущий диск и каталог для приложения. При определении текущего каталога можно задавать относительный путь, включая строку «..», указывающую на родительский каталог.
Класс Path
Класс Path предназначен для обработки имен файлов
Основные методы и свойства класса Path
| Свойство / метод | Описание |
| DirectorySeparatorChar | Символ-разделитель путей для текущей платформы |
| InvalidPathChars | Массив символов, недопустимых в имени файла |
| ChangeExtension | Изменяет расширение файла и возвращает новое имя |
| GetDirectoryName | Возвращает путь к каталогу, в котором находится файл |
| GetFileName | Возвращает имя файла |
| GetExtension | Возвращает расширение файла |
| GetFileNameWithoutExtension | Возвращает имя файла без расширения |
| Combine | Объединяет путь с путем и/или именем файла |
| < Предыдущая | Следующая > |
|---|





