Имена и атрибуты файлов
У каждого файла, созданного на флеш-диске, есть имя и атрибуты. Они делят одну текстовую строку длиной до 56 символов. Атрибуты (если они есть) отделяются от имени файла пробелом. Иначе говоря, всё до первого пробела - имя файла, а всё остальное - атрибуты.
Имена файлов чувствительны к регистру и могут содержать любые символы (включая «/» и «\»), кроме, разумеется, пробела. Флеш-диск не поддерживает подкаталоги, но их можно эмулировать, включая в имя файла символы «/» или «\». Можно использовать и символ «.», так что расширения доступны любые. Часть строки с атрибутами может содержать любые символы, в том числе пробелы.
В файловых системах обычно определены атрибуты файлов. Как правило, однако, эти атрибуты заданы заранее: у вас есть фиксированный список того, что можно указать о файле, например время создания, флаг «только чтение» и т.п.
Объект fd. использует другой подход. В системе, где в любой момент работает только одно приложение, фиксированный флаг «только чтение» не имеет смысла: приложение ведь одно, и оно, скорее всего, и так знает, какие файлы трогать не нужно! А как насчёт даты и времени создания файла? Есть ли смысл хранить их в системе без часов реального времени? Очевидно, нет.
По этим причинам объект fd. позволяет хранить любые данные атрибутов и толковать их как угодно. Есть строка атрибутов, и вы можете заполнить её любыми данными по своему выбору в соответствии с потребностями приложения. И да, вы можете реализовать флаг «только чтение» и записывать дату и время создания - но только если это вам нужно.
Вот пример, в котором мы создаём файл и сразу задаём его атрибуты:
fd.create("File1.dat R 25-JUL-2008") ' <File1.dat> is the file name, <R 25-JUL-2008> -- attributes, it is up to our program how to interpret this!
Подробнее об атрибутах файлов - в разделе Чтение и запись атрибутов файлов.