что такое файл именованная последовательность байтов произвольной длины
Организация файловой системы
Файл– это именованная последовательность байтов произвольной длины. Создание файла состоит в присвоении ему имени и регистрации его в файловой системе. Имя файла состоит из двух частей: имени и расширение (тип файла), отделенных через точку.
Папки (каталоги)– важные элементы иерархической структуры, необходимые для обеспечения удобного доступа к файлам, если файлов на носителе слишком много.
Файловая система –часть операционной системы, управляющая размещением и доступом к файлам папкам на диске.
Операции с файловой структурой:
Каталог— это имя группы файлов, объединенных по какому-либо признаку и хранимых на одном диске. В каталоге содержатся имена всех относящихся к нему файлов. В системах Windows каталог называется папкой, которая является более точным понятием, раскрывающим его смысл.
Проводник— служебная программа, предназначенная для навигации по файловой структуре компьютера и ее обслуживания.
Имена файлов и каталогов
Допустимые имена
Есть несколько символов, допустимых в именах файлов и каталогов, которые нужно использовать с осторожностью. Это так называемые спецсимволы » * «, » \ «, » & «, » «, » ; «, » ( «, » ) «, » | «, а также символы пробела и табуляции. Дело в том, что эти символы имеют особое значение для любой командной оболочки, поэтому нужно будет специально позаботиться о том, чтобы командная оболочка воспринимала эти символы как часть имени файла или каталога.
Дерево каталогов
Положение любого каталога в дереве каталогов точно и однозначно описывается при помощи полного пути. Полный путь всегда начинается от корневого каталога и состоит из перечисления всех вершин, встретившихся при движении по ребрам дерева до искомого каталога включительно. Названия соседних вершин разделяются символом » / » («слэш). Полный путь, например, до каталога » methody » в файловой системе, приведенной на рисунке, записывается следующим образом: сначала символ » / «, обозначающий корневой каталог, затем к нему добавляется » home «, затем разделитель » / «, за которым следует название искомого каталога » methody «, в результате получается полный путь » /home/methody «.
Организация каталогов файловой системы в виде дерева не допускает появления циклов: т. е. каталог не может содержать в себе каталог, в котором содержится сам. Благодаря этому ограничению полный путь до любого каталога или файла в файловой системе всегда будет конечным.
Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
§ 2.4. Файлы и файловые структуры
Информатика. 7 класса. Босова Л.Л. Оглавление
Логические имена устройств внешней памяти компьютера
К каждому компьютеру может быть подключено несколько устройств внешней памяти. Основным устройством внешней памяти ПК является жёсткий диск. Если жёсткий диск имеет достаточно большую ёмкость, то его можно разделить на несколько логических разделов.
Наличие нескольких логических разделов на одном жёстком диске обеспечивает пользователю следующие преимущества:
Каждое подключаемое к компьютеру устройство внешней памяти, а также каждый логический раздел жёсткого диска имеет логическое имя.
В операционной системе Windows приняты логические имена устройств внешней памяти, состоящие из одной латинской буквы и знака двоеточия:
В операционной системе Linux приняты другие правила именования дисков и их разделов. Например:
Файл
Все программы и данные хранятся во внешней памяти компьютера в виде файлов.
Файл — это поименованная область внешней памяти.
Файловая система — это часть ОС, определяющая способ организации, хранения и именования файлов на носителях информации.
Файл характеризуется набором параметров (имя, размер, дата создания, дата последней модификации) и атрибутами, используемыми операционной системой для его обработки (архивный, системный, скрытый, только для чтения). Размер файла выражается в байтах.
Файлы, содержащие данные — графические, текстовые (рисунки, тексты), называют документами, а файлы, содержащие прикладные программы, — файлами-приложениями. Файлы-документы создаются и обрабатываются с помощью файлов-приложений.
Имя файла, как правило, состоит из двух частей, разделенных точкой: собственно имени файла и расширения. Собственно имя файлу даёт пользователь. Делать это рекомендуется осмысленно, отражая в имени содержание файла. Расширение имени обычно задаётся программой автоматически при создании файла. Расширения не обязательны, но они широко используются. Расширение позволяет пользователю, не открывая файла, определить его тип — какого вида информация (программа, текст, рисунок и т. д.) в нём содержится. Расширение позволяет операционной системе автоматически открывать файл.
В современных операционных системах имя файла может включать до 255 символов, причём в нём можно использовать буквы национальных алфавитов и пробелы. Расширение имени файла записывается после точки и обычно содержит 3-4 символа.
Операционная система Linux, в отличие от Windows, различает строчные и прописные буквы в имени файла: например, FILE.txt, file.txt и FiLe.txt — это в Linux три разных файла.
В таблице приведены наиболее распространённые типы файлов и их расширения:
В ОС Linux выделяют следующие типы файлов:
Каталоги
На каждом компьютерном носителе информации (жёстком, оптическом диске или флеш-памяти) может храниться большое количество файлов. Для удобства поиска информации файлы по определённым признакам объединяют в группы, называемые каталогами или папками.
Каталог также получает собственное имя. Он сам может входить в состав другого, внешнего по отношению к нему каталога. Каждый каталог может содержать множество файлов и вложенных каталогов.
Каталог — это поименованная совокупность файлов и подкаталогов (вложенных каталогов).
Каталог самого верхнего уровня называется корневым каталогом.
В ОС Windows любой информационный носитель имеет корневой каталог, который создаётся операционной системой без участия пользователя. Обозначаются корневые каталоги добавлением к логическому имени соответствующего устройства внешней памяти знака «\» (обратный слэш): А:\, В:\, С:\, D:\, Е:\ и т. д.
В Linux каталоги жёстких дисков или их логических разделов не принадлежат верхнему уровню файловой системы (не являются корневыми каталогами). Они «монтируются» в каталог mnt. Другие устройства внешней памяти (гибкие, оптические и флеш-диски) «монтируются» в каталог media. Каталоги mnt и media, в свою очередь, «монтируются» в единый корневой каталог, который обозначается знаком « / » (прямой слэш).
Файловая структура диска
Файловая структура диска — это совокупность файлов на диске и взаимосвязей между ними.
Файловые структуры бывают простыми и многоуровневыми (иерархическими).
Простые файловые структуры могут использоваться для дисков с небольшим (до нескольких десятков) количеством файлов. В этом случае оглавление диска представляет собой линейную последовательность имён файлов (рис. 2.8). Его можно сравнить с оглавлением детской книжки, которое содержит названия входящих в неё рассказов и номера страниц.
Иерархические файловые структуры используются для хранения большого (сотни и тысячи) количества файлов. Иерархия — это расположение частей (элементов) целого в порядке от высшего к низшим. Начальный (корневой) каталог содержит файлы и вложенные каталоги первого уровня. Каждый из каталогов первого уровня может содержать файлы и вложенные каталоги второго уровня и т. д. (рис. 2.9). В этом случае оглавление диска можно сравнить с оглавлением нашего учебника: в нём выделены главы, состоящие из параграфов, которые, в свою очередь, разбиты на отдельные пункты и т. д.
Пользователь, объединяя по собственному усмотрению файлы в каталоги, получает возможность создать удобную для себя систему хранения информации. Например, можно создать отдельные каталоги для хранения текстовых документов, цифровых фотографий, мелодий ит. д.; в каталоге для фотографий объединить фотографии по годам, событиям, принадлежности и т. д. Знание того, какому каталогу принадлежит файл, значительно ускоряет его поиск.
Графическое изображение иерархической файловой структуры называется деревом. В Windows каталоги на разных дисках могут образовывать несколько отдельных деревьев; в Linux каталоги объединяются в одно дерево, общее для всех дисков (рис. 2.10). Древовидные иерархические структуры можно изображать вертикально и горизонтально.
Полное имя файла
Чтобы обратиться к нужному файлу, хранящемуся на некотором диске, можно указать путь к файлу — имена всех каталогов от корневого до того, в котором непосредственно находится файл.
В операционной системе Windows путь к файлу начинается с логического имени устройства внешней памяти; после имени каждого подкаталога ставится обратный слэш. В операционной системе Linux путь к файлу начинается с имени единого корневого каталога; после имени каждого подкаталога ставится прямой слэш.
Последовательно записанные путь к файлу и имя файла составляют полное имя файла. Не может быть двух файлов, имеющих одинаковые полные имена.
Пример полного имени файла в ОС Windows:
Пример полного имени файла в ОС Linux:
Задача 1. Пользователь работал с каталогом С:\Физика\Задачи\Кинематика. Сначала он поднялся на один уровень вверх, затем ещё раз поднялся на один уровень вверх и после этого спустился в каталог Экзамен, в котором находится файл Информатика.dос. Каков путь к этому файлу?
Решение. Пользователь работал с каталогом С:\Физика\Задачи\Кинематика. Поднявшись на один уровень вверх, пользователь оказался в каталоге С:\Физика\Задачи. Поднявшись ещё на один уровень вверх, пользователь оказался в каталоге СДФизика. После этого пользователь спустился в каталог Экзамен, где находится файл. Полный путь к файлу имеет вид: С:\Физика\Экзамен.
Задача 2. Учитель работал в каталоге D:\Уроки\7 класс\Практические работы. Затем перешёл в дереве каталогов на уровень выше, спустился в подкаталог Презентации и удалил из него файл Введение, ppt. Каково полное имя файла, который удалил учитель?
Решение. Учитель работал с каталогом D:\Уроки\7 класс\Практические работы. Поднявшись на один уровень вверх, он оказался в каталоге D:\Уроки\8 класс. После этого учитель спустился в каталог Презентации, путь к файлам которого имеет вид: D:\Уроки\ 7 класс\Презентации. В этом каталоге он удалил файл Введение.ppt, полное имя которого D:\Уроки\8 класс\ Презентации \Введение.ррt.
Работа с файлами
Создаются файлы с помощью систем программирования и прикладного программного обеспечения.
В процессе работы на компьютере над файлами наиболее часто проводятся следующие операции:
При поиске файла, имя которого известно неточно, удобно использовать маску имени файла. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, среди которых также могут встречаться следующие символы: «?» (вопросительный знак) — означает ровно один произвольный символ; «*» (звездочка) — означает любую (в том числе и пустую) последовательность символов произвольной длины.
Например, по маске n*.txt будут найдены все файлы с расширением txt, имена которых начинаются с буквы «n», в том числе и файл n.txt. По маске п?.* будут найдены файлы с произвольными расширениями и двухбуквенными именами, начинающимися с буквы «n».
Вопросы
1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Дополняет ли презентация информацию, содержащуюся в тексте параграфа?
Что такое файл?
Файл (англ. file — папка, скоросшиватель) — концепция в вычислительной технике: сущность, позволяющая получить доступ к какому-либо ресурсу вычислительной системы и обладающая рядом признаков:
* фиксированное имя (последовательность символов, число или что-то иное, однозначно характеризующее файл) ;
* определённое логическое представление и соответствующие ему операции чтения/записи.
В отличие от переменной, файл (в частности, его имя) имеет смысл вне конкретной программы. Работа с файлами — по крайней мере, в «простейшем» представлении — реализуется средствами операционных систем, а до их появления реализовывалась их предшественниками — мониторами и библиотеками подпрограмм.
Ресурсами, доступными через файлы, в принципе, может быть что угодно, представимое в цифровом виде. Чаще всего в их перечень входят:
* области данных (необязательно на диске) ;
* устройства (как физические, так и виртуальные) ;
* потоки данных (в частности, вход или выход процесса) ;
* сетевые ресурсы;
* объекты операционной системы.
Файлы первого типа исторически возникли первыми и распространены наиболее широко, поэтому часто «файлом» называют и область данных, соответствующую имени.
Что такое файл именованная последовательность байтов произвольной длины
Информатика
Глава 4. Функции операционных систем персональных компьютеров
4.4. Обслуживание файловой структуры
4.4.1. Создание и именование файлов
Файл — это именованная последовательность байтов произвольной длины. Поскольку из этого определения вытекает, что файл может иметь нулевую длину, то фактически создание файла состоит в присвоении ему имени и регистрации его в файловой системе — это одна из функций операционной системы. Даже когда мы создаем файл, работая в какой-то прикладной программе, в общем случае для этой операции привлекаются средства операционной системы.
Наряду с “длинным” именем операционные системы Windows 95 и Windows 98 создают также и короткое имя файла — оно необходимо для возможности работы с данным файлом на рабочих местах с устаревшими операционными системами.
1. Если “длинное” имя файла включает пробелы, то в служебных операциях его надо заключать в кавычки. Рекомендуется не использовать пробелы, а заменять их символами подчеркивания.
2. В корневой папке диска (на верхнем уровне иерархической файловой структуры) нежелательно хранить файлы с длинными именами — в отличие от прочих папок в ней ограничено количество единиц хранения, причем чем длиннее имена, тем меньше файлов можно разместить в корневой папке.
3. Кроме ограничения на длину имени файла (256 символов) существует гораздо более жесткое ограничение на длину полного имени файла (в него входит путь доступа к файлу, начиная от вершины иерархической структуры). Полное имя не может быть длиннее 260 символов.
4. Разрешается использовать символы любых алфавитов, в том числе и русского, но если документ готовится для передачи, с заказчиком (потребителем документа) необходимо согласовать возможность воспроизведения файлов с такими именами на его оборудовании.
4.4.2. Создание каталогов (папок)
Каталоги ( папки ) — важные элементы иерархической структуры, необходимые для обеспечения удобного доступа к файлам, если файлов на носителе слишком много. Файлы объединяются в каталоги по любому общему признаку, заданному их создателем (по типу, по принадлежности, по назначению, по времени создания и т. п.). Каталоги низких уровней вкладываются в каталоги более высоких уровней и являются для них вложенными. Верхним уровнем вложенности иерархической структуры является корневой каталог диска.
Все современные операционные системы позволяют создавать каталоги. Правила присвоения имени каталогу ничем не отличаются от правил присвоения имени файлу, хотя негласно для каталогов не принято задавать расширения имен.
Мы знаем, что в иерархических структурах данных адрес объекта задается маршрутом ( путем доступа ), ведущим от вершины структуры к объекту. При записи пути доступа к файлу, проходящего через систему вложенных каталогов, все промежуточные каталоги разделяются между собой определенным символом. Во многих операционных системах в качестве такого символа используется “\” (обратный слэш), например:
Рис. 4.1. Пример записи полного адреса файла
4.4.3. Копирование и перемещение файлов
В неграфических операционных системах операции копирования и перемещения файлов выполняются вводом прямой команды в поле командной строки. При этом указывается имя команды, путь доступа к каталогу-источнику и путь доступа к каталогу-приемнику.
В графических операционных системах существуют приемы работы с устройством позиционирования, позволяющие выполнять эти команды наглядными методами.
4.4.4. Удаление файлов и каталогов (папок)
Удаление файлов является временным. В операционных системах Windows 95 и Windows 98 оно организовано с помощью специальной папки, которая называется Корзина. При удалении файлов и папок они перемещаются в Корзину. Эта операция происходит на уровне файловой структуры операционной системы (изменяется только путь доступа к файлам). На уровне файловой системы жесткого диска ничего не происходит — файлы остаются в тех же секторах, где и были записаны.
Уничтожение файлов происходит при их удалении в операционной системе MS DOS или при очистке Корзины в операционных системах Windows 95/98. В этом случае файл полностью удаляется из файловой структуры операционной системы, но на уровне файловой системы диска с ним происходят лишь незначительные изменения. В таблице размещения файлов он помечается как удаленный, хотя физически остается там же, где и был. Это сделано для минимизации времени операции. При этом открывается возможность записи новых файлов в кластеры, помеченные как “свободные”.
Для справки укажем, что операция стирания файлов, выполняемая специальными служебными программами, состоит именно в том, чтобы заполнить якобы свободные кластеры, оставшиеся после уничтоженного файла, случайными данными. Поскольку даже после перезаписи данных их еще можно восстановить специальными аппаратными средствами (путем анализа остаточного магнитного гистерезиса), для надежного стирания файлов требуется провести не менее пяти актов случайной перезаписи в одни и те же сектора. Эта операция весьма продолжительна, и поскольку массовому потребителю она не нужна, то ее не включают в стандартные функции операционных систем.
4.4.5. Навигация по файловой структуре
Навигация по файловой структуре является одной из наиболее используемых функций операционной системы. Удобство этой операции часто воспринимают как удобство работы с операционной системой. В операционных системах, имеющих интерфейс командной строки, навигацию осуществляют путем ввода команд перехода с диска на диск или из каталога в каталог. В связи с крайним неудобством такой навигации, широкое применение нашли специальные служебные программы, называемые файловыми оболочками.
4.4.6. Управление атрибутами файлов
Кроме имени и расширения имени файла операционная система хранит для каждого файла дату его создания (изменения) и несколько флатовых величин, называемых атрибутами файла. Атрибуты — это дополнительные параметры, определяющие свойства файлов. Операционная система позволяет их контролировать и изменять; состояние атрибутов учитывается при проведении автоматических операций с файлами.
Основных атрибутов четыре:
Атрибут Только для чтения ограничивает возможности работы с файлом. Его установка означает, что файл не предназначен для внесения изменений.
Атрибут Скрытый сигнализирует операционной системе о том, что данный файл не следует отображать на экране при проведении файловых операций. Это мера защиты против случайного (умышленного или неумышленного) повреждения файла.
Атрибутом Системный помечаются файлы, обладающие важными функциями в работе самой операционной системы. Его отличительная особенность в том, что средствами операционной системы его изменить нельзя. Как правило, большинство файлов, имеющих установленный атрибут Системный, имеют также и установленный атрибут Скрытый.
Атрибут Архивный в прошлом использовался для работы программ резервного копирования. Предполагалось, что любая программа, изменяющая файл, должна автоматически устанавливать этот атрибут, а средство резервного копирования должно его сбрасывать. Таким образом, очередному резервному копированию подлежали только те файлы, у которых этот атрибут был установлен. Современные программы резервного копирования используют другие средства для установления факта изменения файла, и данный атрибут во внимание не принимается, а его изменение вручную средствами операционной системы не имеет практического значения.
Стандартные файлы и функции по работе с ними
Цель лекции: изучить понятия, характеристику и классификацию файлов и стандартных функций по работе с файлами, научиться решать задачи с использованием стандартных функций по работе с файлами на языке C++.
Файл – это именованная область внешней памяти, в которой хранится логически завершенный объем данных. Файл имеет следующие характерные особенности:
Файлы делятся на текстовые и двоичные.
Особенностью языка С++ является отсутствие в нем структурированных файлов. Все файлы рассматриваются как неструктурированная последовательность байтов. При таком подходе понятие файла распространяется и на различные устройства.
В С++ существуют специальные средства ввода-вывода данных. Все операции ввода-вывода реализуются с помощью функций, которые находятся в библиотеке С++. Библиотека С++ поддерживает три уровня ввода-вывода:
Поток – это абстрактное понятие, относящееся к любому переносу данных от источника к приемнику.
Чтение данных из потока называется извлечением, вывод в поток – помещением (включением).
При работе с потоком можно:
Когда программа начинает выполняться, автоматически открываются пять потоков, из которых основными являются:
По умолчанию стандартному потоку ввода stdin ставится в соответствие клавиатура, а потокам stdout и stderr соответствует экран монитора.
В С++ операции с файлами можно осуществлять в двух режимах: форматированном и потоковом.
Рассмотрим основные функции для работы с файлами в форматированном режиме.
Функция открытия файла
где fp – указатель на поток (файловый указатель );
РежимОткрытия – указатель на строку режима открытия файла.
Существуют несколько режимов открытия файлов.
Режим | Описание | Начинается с. |
---|---|---|
r | Открывает текстовый файл для чтения. Если файл не существует, то выдается ошибка при исполнении программы. | начала |
w | Открывает текстовый файл для записи. Если файл не существует, то он создается. Если файл уже существует, то удаляется его содержимое, файл перезаписывается | начала |
a | Открывает текстовый файл для добавления. Если файл не существует, то он создается. Если существует, то содержимое из него не удаляется. | конца |
r+ | Открывает текстовый файл для чтения и записи. Изменить размер файла нельзя. Если файл не существует, то выдается ошибка при исполнении программы. | начала |
w+ | Открывает текстовый файл для чтения и записи. Если файл не существует, то он создается. Если файл уже существует, то удаляется его содержимое, файл перезаписывается. | начала |
a+ | Открывает текстовый файл для чтения и записи. Если файл не существует, то он создается. Если существует, то содержимое из него не удаляется. | конца |
rb | Открывает двоичный файл для чтения. Если файл не существует, то выдается ошибка при исполнении программы. | начала |
wb | Открывает двоичный файл для записи. Если файл не существует, то он создается. Если файл уже существует, то удаляется его содержимое, файл перезаписывается. | начала |
ab | Открывает двоичный файл для добавления. Если файл не существует, то он создается. Если существует, то содержимое из него не удаляется. | конца |
r+b | Открывает двоичный файл для чтения и записи. Изменить размер файла нельзя. Если файл не существует, то выдается ошибка при исполнении программы. | начала |
rb+ | ||
w+b | Открывает двоичный файл для чтения и записи. Если файл не существует, то он создается. Если файл уже существует, то удаляется его содержимое, файл перезаписывается. | начала |
wb+ | ||
a+b | Открывает двоичный файл для чтения и записи. Если файл не существует, то он создается. Если существует, то содержимое из него не удаляется. | конца |
ab+ |
«r+b» или «rb» – двоичный (бинарный) режим;
При открытии файла могут возникать следующие ошибки:
Для вывода сообщения об ошибке при открытии файла используется стандартная библиотечная функция из файла :
Пример 1. Обнаружение и вывод ошибки при открытии файла.
Перед началом выполнения операций с файлами целесообразно получить подтверждение, что функция fopen () выполнилась успешно.