После изучения способов манипулирования файлами и каталогами с использованием основных типов ввода-вывода вы ознакомитесь со связанной темой —
System.IO.Stream.На заметку!
Чтобы можно было успешно выполнять примеры в главе, IDE-среда Visual Studio должна быть запущена с правами администратора (для этого нужно просто щелкнуть правой кнопкой мыши на значке Visual Studio и выбрать в контекстном меню пункт Запуск от имени администратора). В противном случае при доступе к файловой системе компьютера могут возникать исключения, связанные с безопасностью.Исследование пространства имен System.IO
В рамках платформы .NET Core пространство имен System.IO
System.IO определен набор классов, интерфейсов, перечислений, структур и делегатов, большинство из которых находятся в сборке mscorlib.dll. В дополнение к типам, содержащимся внутри mscorlib.dll, в сборке System.dll определены дополнительные члены пространства имен System.IO.Многие типы из пространства имен System.IO
System.IO.В дополнение к описанным конкретным классам внутри System.IO
Stream, TextReader и ТехtWriter), которые формируют разделяемый полиморфный интерфейс для всех наследников. В главе вы узнаете о многих типах пространства имен System.IO. Классы Directory(Directorylnfо) и File(FileInfo)
Пространство имен System.IO
Directory и File, открывают доступ к операциям создания, удаления, копирования и перемещения через разнообразные статические члены. Тесно связанные с ними классы FileInfo и DirectoryInfo обеспечивают похожую функциональность в виде методов уровня экземпляра (следовательно, их экземпляры придется создавать с помощью ключевого слова new). Классы Directory и File непосредственно расширяют класс System.Object, в то время как DirectoryInfo и FileInfo являются производными от абстрактного класса FileSystemInfo.Обычно классы FileInfo
DirectoryInfo считаются лучшим выбором для получения полных сведений о файле или каталоге (например, времени создания или возможности чтения/записи), т.к. их члены возвращают строго типизированные объекты. В отличие от них члены классов Directory и File, как правило, возвращают простые строковые значения, а не строго типизированные объекты. Тем не менее, это всего лишь рекомендация; во многих случаях одну и ту же работу можно делать с использованием File/FileInfo или Directory/DirectoryInfo.Абстрактный базовый класс FileSystemInfo
Классы DirectoryInfo
FileInfo получают многие линии поведения от абстрактного базового класса FileSystemInfo. По большей части члены класса FileSystemInfo применяются для выяснения общих характеристик (таких как время создания, разнообразные атрибуты и т.д.) заданного файла или каталога. В табл. 20.2 перечислены некоторые основные свойства, представляющие интерес.В классе FileSystemInfо
Delete(). Он реализуется производными типами для удаления заданного файла или каталога с жесткого диска. Кроме того, перед получением информации об атрибутах можно вызвать метод Refresh(), чтобы обеспечить актуальность статистических данных о текущем файле или каталоге.Работа с типом DirectoryInfо
Первый неабстрактный тип, связанный с вводом-выводом, который мы исследуем здесь — DirectoryInfo
FileSystemInfо), класс DirectoryInfo предлагает ключевые члены, описанные в табл. 20.3.