Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Классы в System.IO пространстве имен используются для работы с дисками, файлами и каталогами.
Пространство System.IO имен содержит классы File и Directory, предоставляющие функциональные возможности .NET Framework, которые управляют файлами и каталогами. Так как методы этих объектов являются статическими или общими элементами, их можно использовать непосредственно без создания экземпляра класса. Эти классы связаны с FileInfo и DirectoryInfo классами, которые будут знакомы пользователям функции My. Чтобы использовать эти классы, необходимо полностью указать имена или импортировать соответствующие пространства имен, включив инструкции Imports в начало исходного кода. Дополнительные сведения см. в разделе "Импорт" (пространство имен и тип.NET).
Замечание
Другие разделы этого раздела используют My.Computer.FileSystem объект вместо System.IO классов для работы с дисками, файлами и каталогами. Объект My.Computer.FileSystem предназначен в основном для использования в программах Visual Basic.
System.IO классы предназначены для использования любым языком, поддерживающим .NET Framework, включая Visual Basic.
Определение потока
Платформа .NET Framework использует потоки для поддержки чтения и записи в файлы. Поток можно рассматривать как одномерный набор смежных данных, который имеет начало и конец, и где курсор указывает текущую позицию в потоке.
Операции потоковой передачи
Данные, содержащиеся в потоке, могут поступать из памяти, файла или сокета TCP/IP. Потоки имеют основные операции, которые можно применить к ним:
Чтение. Вы можете считывать данные из потока, передавая данные из потока в структуру данных, например строку или массив байтов.
Написание. Вы можете записывать данные из источника данных в поток.
Поиск. Вы можете запрашивать и изменять ваше положение в потоке.
Дополнительные сведения см. в разделе "Создание потоков".
Типы потоков
В .NET Framework поток представлен классом Stream , который формирует абстрактный класс для всех остальных потоков. Невозможно напрямую создать экземпляр Stream класса, но использовать один из классов, которые он реализует.
Существует множество типов потоков, но для работы с входными и выходными данными файлов (ввода-вывода) наиболее важными типами являются FileStream класс, который предоставляет способ чтения из файлов и записи в файлы, а IsolatedStorageFileStream также класс, который предоставляет способ создания файлов и каталогов в изолированном хранилище. Другие потоки, которые можно использовать при работе с файлами ввода-вывода, включают:
В следующей таблице перечислены задачи, которые обычно выполняются с помощью потока:
| Кому | Смотри |
|---|---|
| Чтение и запись в файл данных | Практическое руководство. Чтение и запись в только что созданный файл данных |
| Чтение текста из файла | Практическое руководство. Чтение текста из файла |
| Запись текста в файл | Практическое руководство. Запись текста в файл |
| Чтение символов из строки | Практическое руководство. Чтение символов из строки |
| Записать символы в строку | Как записывать символы в строку |
| Шифрование данных | шифрование данных |
| Расшифровка данных | расшифровка данных |
Доступ к файлам и атрибуты
Вы можете управлять созданием, открытием и общим доступом файлов с FileAccessFileModeFileShare перечислениями, содержащими флаги, используемые конструкторами FileStream класса. Например, при открытии или создании нового FileStream, перечисление FileMode позволяет указать, открыт ли файл для добавления, создается ли новый файл, если указанный файл не существует, перезаписывается ли файл и т. д.
Перечисление FileAttributes позволяет собирать сведения, относящиеся к файлам. Перечисление FileAttributes возвращает хранимые атрибуты файла, например сжатые, зашифрованные, скрытые, доступные только для чтения, архив, каталог, системный файл или временный файл.
В следующей таблице перечислены задачи, связанные с доступом к файлам и атрибутами файлов:
| Кому | Смотри |
|---|---|
| Открытие и добавление текста в файл журнала | Практическое руководство. Открытие и добавление в файл журнала |
| Определение атрибутов файла | FileAttributes |
Разрешения файлов
Управление доступом к файлам и каталогам можно сделать с FileIOPermission помощью класса. Это может быть особенно важно для разработчиков, работающих с веб-формами, которые по умолчанию выполняются в контексте специальной учетной записи локального пользователя с именем ASPNET, которая создается в рамках установки ASP.NET и .NET Framework. Если такое приложение запрашивает доступ к ресурсу, учетная запись пользователя ASPNET имеет ограниченные разрешения, что может препятствовать пользователю выполнять такие действия, как запись в файл из веб-приложения. Дополнительные сведения см. в разделе FileIOPermission.
Изолированное хранилище файлов
Изолированное хранилище — это попытка решить проблемы, созданные при работе с файлами, в которых пользователь или код могут не получить необходимые разрешения. Изолированное хранилище назначает каждому пользователю депозиторий данных, который может содержать один или несколько мест хранения. Хранилища могут быть изолированы друг от друга пользователем и сборкой. Только пользователь и сборка, которые создали хранилище, имеют к нему доступ. Хранилище выступает в качестве полной виртуальной файловой системы— в одном хранилище можно создавать каталоги и файлы и управлять ими.
В следующей таблице перечислены задачи, часто связанные с изолированным хранилищем файлов.
| Кому | Смотри |
|---|---|
| Создание изолированного хранилища | Практическое руководство. Получение хранилищ для изолированного хранилища |
| Перечисление изолированных хранилищ | Практическое руководство. Перечисление хранилищ для изолированного хранилища |
| Удаление изолированного хранилища | Практическое руководство. Удаление хранилищ из области изолированного хранения |
| Создание файла или каталога в изолированном хранилище | Практическое руководство. Создание файлов и каталогов в изолированном хранилище |
| Поиск файла в изолированном хранилище | Практическое руководство. Поиск существующих файлов и каталогов в изолированном хранилище |
| Чтение или запись в файл в изолированном хранилище | Практическое руководство. Считывание из файлов и запись в файлы в изолированном хранилище |
| Удаление файла или каталога в изолированном хранилище | Практическое руководство. Удаление файлов и каталогов из изолированного хранилища |
События файлов
Компонент FileSystemWatcher позволяет отслеживать изменения файлов и каталогов в системе или на любом компьютере, к которому у вас есть сетевой доступ. Например, если файл изменен, может потребоваться отправить пользователю оповещение о том, что произошло изменение. При возникновении изменений вызывается одно или несколько событий, хранящихся в буфере, и передаются компоненту FileSystemWatcher для обработки.