Файл — это последовательность данных неопределённого размера, имеющая собственное имя.
Файл может быть сколь угодно большим и сколь угодно малым. Если в файле не хранится ни одного байта данных, этот файл называется пустым. Физическим аналогом файла является безразмерная папка для бумаг. В ней может не быть ни одного листочка, но папка от этого не перестанет быть информационным контейнером — её можно хранить, располагать внутри других контейнеров, она может иметь собственный адрес. Когда в эту папку начнут поступать листы с данными, в папке образуется коллекция объектов. Все листы получат общий адрес — адрес папки, но при этом каждый лист сохранит за собой ещё и тот порядковый номер, под которым он поступил в коллекцию.
На компьютере файл — это безразмерная последовательность байтов. Каждый байт имеет в файле позицию (порядковый номер) от начала файла. Все байты последовательности имеют общее имя (имя файла) и общий адрес — путь доступа к файлу.
Имя файла
Файлы данных нужны нам не просто для порядка, а для того, чтобы с ними могли работать автоматические программные средства. Поэтому имя файла должно быть записано не как попало, а именно так, как требуют эти самые средства. На разных компьютерах, работающих под управлением разных операционных систем, правила
записи имён файлов могут различаться. Мы рассмотрим соглашения, принятые для компьютеров платформы IBM PC.
СОГЛАШЕНИЕ 8.3
Это соглашение было принято в начале 80-х годов прошлого века при создании операционной системы MS-DOS, но широко используется и сегодня. Согласно соглашению 8.3 имя файла строится по следующим правилам.
• Имя файла состоит из двух частей, разделяемых при записи точкой.
• Первая часть содержит от 1 до 8 символов, вторая — не более трёх (может вообще отсутствовать).
• Часть имени файла, стоящую после точки, называют расширением имени.
• В имени файла разрешается использовать латинские буквы и цифры (русские буквы недопустимы). Все буквы автоматически преобразуются к верхнему регистру.
• Использовать в имени файла пробелы, знаки препинания и специальные символы не разрешается.
Расширение имени файла принято использовать в качестве признака формата записи данных. Некоторые операционные системы (например, Windows) используют расширение имени файла для автоматического выбора программы, которой этот файл следует открывать. Вот некоторые примеры расширений имён файлов.
•.AVI — файл видеозаписи. Может быть закодирован как угодно (как именно, указано внутри файла). Для воспроизведения на компьютере может потребоваться программа-кодек (какая именно, указано внутри файла).
•.BMP — файл с изображением, записанным в формате кодирования BMP. Предназначен для воспроизведения изображения на экране компьютера.
•.DOC — форматированный (оформленный) текстовый документ, предназначенный для печати на принтере. Может содержать рисунки, таблицы, видео- и аудиоклипы и другие информационные объекты.
•.ЕХЕ — программа (файл содержит команды и данные).
•.GIF - малоцветное изображение (до 256 цветов), закодированное табличным способом и сжатое по технологии LZW.
•. НТМ — форматированный электронный документ, предназначенный для просмотра на экране.
•.JPG — многоцветное (более 16 млн. цветов) изображение, закодированное и сжатое по технологии JPEG.
•.MPG —г файл видеозаписи. Закодирован по технологии MPEG.
•.МР2 — файл видеозаписи. Закодирован по технологии MPEG 2.
•.МРЗ — файл звукозаписи. Закодирован по технологии MPEG I Layer 3.
•.МР4 — файл видеозаписи. Закодирован по технологии MPEG 4.
• TIP - рисунок (изображение), предназначенный для печати. Записан в формате кодирования TIFF (как правило, сжатый по технологии LZW).
•.ТХТ — неформатированный текстовый документ (поток текста). В начале файла может стоять код, сигнализирующий о том, какая кодировка использована.
•.WAV — файл звукозаписи. Может быть закодирован как угодно (указано внутри файла). Для воспроизведения на компьютере может потребоваться программа-кодек (указана внутри файла).
ДЛИННЫЕ ИМЕНА ФАЙЛОВ
При работе в рамках соглашения 8.3 довольно трудно давать файлам понятные имена, описывающие их содержание. Поэтому современные операционные системы допускают использование так называемых «длинных имен файлов». Правила записи длинных имен гибче, чем правила соглашения 8.3.
• Длина имени не может превосходить 255 символов.
• В имени файла можно использовать символы национальных алфавитов, в том числе русского, и символы верхнего и нижнего регистров.
• Разрешается использовать в имени файла пробелы, точки, иные знаки препинания и математические символы, кроме следующих девяти: < > \? / * +;:
• Расширением имени считается последовательность символов, находящаяся за последней точкой в имени файла. Расширение имени может содержать более трех символов.
«Длинными» считаются имена файлов, которые удовлетворяют правилам записи длинных имён, но не соответствуют соглашению 8.3.
Каталоги
Для удобства хранения и поиска файлы группируют. Полученную группу размещают в контейнерных объектах — каталогах. Каталоги тоже можно группировать и размещать в каталогах более высокого уровня. Таким образом, каталог — это информационный контейнер, обладающий собственным именем и предназначенный для хранения файлов и каталогов.
Правила записи имён каталогов те же, что и правила записи имён файлов. На практике часто принято не указывать расширения имён каталогов, потому что в одном каталоге могут храниться файлы с данными разных типов.
Полное имя файла
Файл — информационный объект. Его главная функция - хранение данных. Имя файла — его основное свойство, потому что оно выполняет функцию адреса и дает возможность доступа к данным, хранящимся в файле. Мы знаем, что основные свойства информационных объектов должны быть уникальными, иначе объекты становятся неразличимыми. Отсюда вывод: имя файла должно быть уникальным. При организации хранения данных должны быть предусмотрены специальные меры, чтобы в одной системе хранения данных не могло быть двух файлов с одинаковыми именами.
На современных компьютерах хранятся сотни тысяч файлов. Следить за тем, чтобы все они имели разные имена, весьма трудно. Проблема решается с помощью каталогов. Следует различать собственное имя файла — имя, данное ему при записи в какой-либо каталог, — и полное имя файла, которое образуется сочетанием собственного имени и пути доступа, который ведёт к файлу в избранной системе хранения. Это даёт возможность использовать одинаковые собственные имена для разных файлов при условии, что они будут размещены в разных каталогах. Например, файлы, имеющие собственное имя «Письмо_013.ТХТ» могут храниться в разных каталогах и иметь разные полные имена:
Переписка\Служебная\Исходящие\Письмо_013.ТХТ
Переписка\Служебная\Входящие\Письмо_013.ТХТ
Переписка\Личная\Исходящие\Письмо_013.ТХТ
При записи полного имени файла имена каталогов, входящие в путь доступа, разделяют с помощью специального символа. Для компьютеров, работающих под управлением операционных систем MS-DOS и Windows, в качестве разделителя принята обратная косая черта «\».
На компьютерах, работающих под управлением других операционных систем, в качестве разделителя часто используют обычную косую черту «/». В Интернете документы хранятся на компьютерах самых разных систем. При обращении к документам Интернета принято при указании пути доступа использовать обычную косую черту «/».
Операционные системы предоставляют средства для указания не одного, а сразу группы существующих в том или ином каталоге файлов путем задания так называемых шаблонов.
Шаблоном (образцом) является составное имя файла, в полях имени и/или расширения которого используются символы-заменители (глобальные символы). Шаблон обозначает не единственный файл, а группу существующих файлов, составные имена которых, сопоставляются с данным шаблоном, т.е. подходят под образец. Область действия образца ограничивается содержимым определенного каталога.
Используются символы-заменители? и *.
Заменитель? обычно указывает на любой (но единственный) символ в данной позиции. Однако если заменитель? записан последним в поле имени файла (расширения) или если за ним записаны только такие же заменители до конца поля, то он обозначает любой символ или его отсутствие. В полях имени файла и расширения допускается использовать любое количество заменителей?.
Примеры шаблонов с заменителем?:
• MEMO?R.EXE подходит к любому файлу с расширением ЕХЕ, имя которого начинается
с MEMO, завершается символом R, а между ними находится ровно один произвольный символ;
• PROG.??M сопоставляется со всеми файлами, имеющими имя PROG и трехсимвольное
расширение, если последним символом в расширении является М;
• GL???.DAT подходит ко всем файлам с расширением DAT, имеющим имя, начинающееся
с символов GL, за которыми следует не более трех символов.
Заменитель * обозначает произвольную последовательность символов (возможно, нулевой длины) от данной позиции до конца поля имени файла или расширения (в соответствии с тем, в каком поле заменитель использован). В каждом поле (имени или расширения) допускается только по одному заменителю *, а все символы, которые указаны в поле за ним, игнорируются.
Примеры шаблонов с заменителем *:
• *.BAS сопоставляется со всеми файлами с расширением BAS;
• P*.PAS подходит ко всем файлам с расширением PAS, имя которых начинается с символа Р;
• *.* сопоставляется со всеми файлами, в том числе без расширений;
• *. подходит ко всем файлам, не имеющим расширения;
Сделаем два замечания:
1) к примеру, шаблоны * и *.* не эквивалентны, так как заменитель не может замещать
разделитель имени файла и расширения (.); •
2) при использовании заменителей ограничения на длину имени файла и расширения в
образце не снимаются.
Полезность шаблонов состоит не только в возможности задать множество файлов, но и в возможности упростить задание составного имени единственного файла. Например, вместо существующего файла PROGRAM.PAS часто достаточно указать Р*.*, если при этом не возникает неоднозначности.