Spec-Zone .ru
спецификации, руководства, описания, API
След: Существенные Классы
Урок: Основной ввод-вывод
Раздел: Файловый ввод-вывод (Обладающий NIO.2)
Каков Путь? (И Другие Факты Файловой системы)
Домашняя страница > Существенные Классы > Основной ввод-вывод

Каков Путь? (И Другие Факты Файловой системы)

Файловая система хранит и организует файлы на некоторой форме носителей, обычно один или более жестких дисков, таким способом, которым они могут быть легко получены. Большинство файловых систем в использовании сегодня хранит файлы в дереве (или иерархический) структура. Наверху дерева один (или больше) корневые узлы. Под корневым узлом есть файлы и каталоги (папки в Microsoft Windows). Каждый каталог может содержать файлы и подкаталоги, которые поочередно могут содержать файлы и подкаталоги, и так далее, потенциально к почти безграничной глубине.

Этот раздел покрывает следующее:

Каков Путь?

Следующие данные показывают демонстрационное дерево каталогов, содержащее единственный корневой узел. Microsoft Windows поддерживает многократные корневые узлы. Каждый корневой узел отображается на объем, такой как C:\ или D:\. ОС Соляриса поддерживает единственный корневой узел, который обозначается символом наклонной черты, /.

Демонстрационная структура каталогов

Демонстрационная Структура каталогов

Файл идентифицируется его путем через файловую систему, начинающуюся с корневого узла. Например, statusReport файл в предыдущем числе описывается следующей нотацией в Солярисе ОС:

/home/sally/statusReport

В Microsoft Windows, statusReport описывается следующей нотацией:

C:\home\sally\statusReport

Символ, используемый, чтобы разделить имена каталогов (также названный разделителем), является определенным для файловой системы: Солярис ОС использует наклонную черту вправо (/), и Microsoft Windows использует наклонную черту наклонной черты влево (\).

Относительный или Абсолютный?

Путь является или относительным или абсолютным. Абсолютный путь всегда содержит корневой элемент и список полного списка, требуемый определять местоположение файла. Например, /home/sally/statusReport абсолютный путь. Вся информация должна была расположиться, файл содержится в строке пути.

Относительный путь должен быть объединен с другим путем, чтобы получить доступ к файлу. Например, joe/foo относительный путь. Без большей информации программа не может достоверно расположиться joe/foo каталог в файловой системе.

Символьные ссылки

Объекты файловой системы являются наиболее обычно каталогами или файлами. Все знакомы с этими объектами. Но некоторые файловые системы также поддерживают понятие символьных ссылок. Символьная ссылка также упоминается как символьная ссылка или мягкая ссылка.

Символьная ссылка является специальным файлом, который служит ссылкой на другой файл. По большей части символьные ссылки прозрачны к приложениям, и операции на символьных ссылках автоматически перенаправляются к цели ссылки. (Указываемый файл или каталог вызывают целью ссылки.) Исключения - то, когда символьная ссылка удаляется, или переименовывается, когда сама ссылка удаляется, или переименовывается а не цель ссылки.

В следующем числе, logFile кажется, регулярный файл пользователю, но это - фактически символьная ссылка на dir/logs/HomeLogFile. HomeLogFile цель ссылки.

Демонстрационная символьная ссылка

Пример Символьной ссылки.

Символьная ссылка обычно прозрачна пользователю. Чтение или запись в символьную ссылку являются тем же самым как чтением или записью в любой другой файл или каталог.

Фраза, разрешающая ссылку, означает заменять фактическим расположением в файловой системе для символьной ссылки. В примере, решая logFile урожаи dir/logs/HomeLogFile.

В реальных сценариях большинство файловых систем делает либеральное использование символьных ссылок. Иногда, небрежно создаваемая символьная ссылка может вызвать циклическую ссылку. Циклическая ссылка происходит, когда цель ссылки указывает назад на исходную ссылку. Циклическая ссылка могла бы быть косвенной: каталог a точки к каталогу b, который указывает на каталог c, который содержит указание подкаталога назад на каталог a. Циклические ссылки могут вызвать опустошение, когда программа рекурсивно обходит структуру каталогов. Однако, этот сценарий был учтен и не будет заставлять Вашу программу циклично выполняться бесконечно.

Следующая страница обсуждает основу поддержки файлового ввода-вывода в языке программирования Java, Path class.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Файловый ввод-вывод (Обладающий NIO.2)
Следующая страница: Класс Пути