Введение
Last updated
Last updated
Файловая система — компонент операционной системы, обеспечивающий организацию создания, хранения и доступа к именованным наборам данных. Эти именованные наборы данных называются файлами
Когда программе нужно сохранить данные для дальнейшего использования, она пишет эти данные в файл. Позднее их можно прочитать из файла.
Данные, записанные в файл, остаются доступными после окончания работы программы.
Процесс сохранения данных в файле — запись данных в файл. Когда часть данных пишется в файл, она копируется из переменной, находящейся в ОЗУ (оперативной памяти компьютера), в файл. Файл, в который данные сохраняются, называется файлом вывода.
Процесс извлечения данных из файлов — чтение данных из файла. Когда порция данных считывается из файла, она копируется из файла в ОЗУ, где на неё ссылается переменная. Такой файл называется файлом ввода — из него извлекаются входные данные.
При работе с файлами, всегда выполняется три шага:
Открыть файл — создается связь между файлом и программой — открытие потока
Обработать файл — данные записываются в файл, либо считываются из файла
Закрыть файл — разрыв связи между файлом и программой — закрытие потока
Как это устроено — более подробно:
При работе с файлом, находящимся на диске компьютера, программа создаёт файловый объект — программный объект, который связан с определенным файлом и предоставляет программе методы для работы с этим файлом.
В программе на файловый объект ссылается переменная. Она используется для осуществления любых операций, которые выполняются с файлом.
Файлы определяются при помощи имени. После точки в имени идёт расширение файла — его тип. Благодаря расширению операционная система понимает, как нужно работать с этим файлом.
Полный или абсолютный путь — это путь, который указывает на одно и то же место в файловой системе, вне зависимости от текущего рабочего каталога или других обстоятельств.
Полный путь всегда начинается с корневого каталога. Относительный путь представляет собой путь по отношению к текущему рабочему каталогу пользователя
Абсолютный путь в Windows
Абсолютный путь в UNIX-подобных системах (MacOS, Linux)
Относительные пути. Мы указываем их, когда все файла лежат в одной директории и нам нужно получить доступ из неё.
Если нужно подняться на шаг выше — ../data.json
Подняться и зайти в папку Documents
, где расположен нужный файл: ../Documents/test.txt
Общее правило будет такое: если вы работаете со своими файлами, лучше указывать относительный путь, а если нужен чужой файл из интернета — то абсолютный.
Последовательный доступ — последовательное обращение к данным, с самого начала файла и до его конца. Перескочить непосредственно к нужным данным не получится. Пример: текстовые файлы
Прямой (произвольный) доступ — можно непосредственно перескочить к любой порции данных в файле, не читая данные, которые идут перед ней. Это подобно тому, как работает проигрыватель компакт-дисков или MP3-плеер
Мы будем рассматривать файлы с последовательным доступом