Размещение файлов. Правила именования файлов

Одним из важнейших аспектов любой операционной системы является работа с файлами. В Windows 95/98/NT функции доступа к файлам и дискам значительно расширены по сравнению с MS-DOS за счет использования 32-разрядных чисел и поддержки сразу несколько файловых систем: FAT (file allocation table, таблица размещения файлов), NTFS (файловую систему NT) и CDFS (файловая система CD-ROM).

Основной файловой системой Windows 95/98 является FAT. FAT позволяет присваивать каталогам и файлам имена до 255 символов длиной. Эти имена хранятся на диске в кодировке Unicode, а это значит, что они не нарушаются при копировании в системы использующие другие языки. Еще одна особенность файловой системы FAT в том, что с каждым файлом в ней связаны 3 временные метки: время создания файла, время последнего к нему обращения и время последней модификации.

Windows NT поддерживает не только FAT, но и NTFS, которая совместима с FAT и имеет свои дополнительные особенности. NTFS позволяет восстанавливать данные после сбоя системы, работает с внешними носителями высокой емкости, различает регистр букв в именах файлов. В NTFS добавлены средства защиты файлов от вирусов (введен атрибут файла "только для исполнения").

Поскольку Win32 поддерживает несколько файловых систем, все они должны подчинятся общим правилам. Файловые системы должна организовывать файлы в иерархическое дерево каталогов – так, как это делает FAT. Имена каталогов и файлов в полном имени файла (pathname) отделяются обратной косой чертой (\). Кроме правил формирования полного имени, действует и правила именования каталогов и файлов:

· полное имя файла завершается нулевым символом;

· имена файлов и каталогов не должны содержать разделительного символа (\), символов с ASCII-кодами от 0 до 31, специальных символов вроде (<,>,:," или | /), а также символов, явно запрещенных в какой либо файловой системе;

· имена файлов и каталогов могут включать буквы разного регистра, но при поиске файлов и каталогов регистр букв не учитывается. Если файл с именем ReadMe.Txt существует, то создание нового файла с именем README.TXT уже не допускается;

· точка (.) идентифицирует текущий каталог. Например,.\ README.TXT означает, что файл README.TXT находится в текущем каталоге;

· две точки (..) идентифицирует родительский каталог. Например,..\ README.TXT означает, что файл README.TXT находится в родительском каталоге текущего каталога;

· точка (.), используемая как часть имени файла или каталога, считается разделителем компонентов имени. Например, в файле README.TXT точка отделяет имя файла от его расширения.

Эти основные правила должны соблюдать все файловые системы, поддерживаемые Win32. Допускаются лишь различия, вытекающие из разной интерпретации этих правил и дополнительных возможностей конкретной файловой системы.

Разрабатывая Win32-приложения, необходимо помнить, что пользователь может работать с любой комбинацией FAT, NTFS и CDFS, а также то, что в будущем появятся другие файловые системы. Любая из новых файловых систем будет следовать базовым правилам, и, приложив минимум дополнительных усилий, можно писать программы, корректно работающие независимо от файловой системы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: