Spec-Zone .ru
спецификации, руководства, описания, API
|
Файловая система хранит и организует файлы на некоторой форме носителей, обычно один или более жестких дисков, таким способом, которым они могут быть легко получены. Большинство файловых систем в использовании сегодня хранит файлы в дереве (или иерархический) структура. Наверху дерева один (или больше) корневые узлы. Под корневым узлом есть файлы и каталоги (папки в 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.