Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УП Технология программирования.doc
Скачиваний:
20
Добавлен:
11.06.2015
Размер:
1.69 Mб
Скачать

Файлы и файловая система

Файл – важная структура данных, предназначенная для сохранения значений в дисковой памяти компьютера и на внешних носителях данных и позволяющая использовать одни и те же данные разными программами и на разных компьютерах. Файл представляет собой поименованную последовательность значений, доступ к которым осуществляется либо прямо по индексу (прямой доступ), либо последовательными перемещениями от текущего значения к следующему или предыдущему (последовательный доступ). По содержащимся в файле значениям различают текстовые и бинарные файлы. В текстовом файле значениями являются текстовые символы, а в бинарном – любые другие значения, представленные в двоичной форме.

Файловая система – это система управления файлами. Она является частью операционной системы компьютера и поэтому отражает особенности конкретной ОС. В Windows, как и во многих других ОС, основными объектами файловой системы являются диски, папки (каталоги) и файлы. Каждая папка может содержать файлы и другие папки. Папка, в которой содержатся все папки и файлы, хранящиеся на диске, называется корневой папкой этого диска. Все папки, кроме корневой, имеют имена. Папка, в которой непосредственно содержится файл или другая папка, называется родительской. Каждый диск помечен какой-то латинской буквой (буква диска) и, кроме того, может иметь имя.

Каждый диск, каталог (папка) или файл может быть найден в системе по его пути. Путь диска – это буква диска, за которой следует двоеточие, например «D:». Путь корневой папки – это путь диска, за которым следует обратный слэш, например, «D:\». Путь папки – это путь родительской папки, за которым следует имя папки и обратный слэш (последний слэш обычно не пишут). Путь файла – это путь родительской папки, за которым следует имя файла.

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

В стандартах ECMA языка JavaScript в целях безопасности вообще нет понятия файла и файловой системы. Однако в Windows содержится библиотека ActiveX-объектов Scripting, позволяющая использовать эти объекты в сценариях, написанных на JavaScript (и других языках сценариев). Эта библиотека сильно расширяет возможности Web-приложений, но требует особой заботы об их безопасности.

Система Scripting содержит средства и для работы с компонентами файловой системы компьютера, включая локальные, съёмные и сетевые диски и их содержимое. Это, прежде всего, программные объекты следующих типов:

  • FileSystemObject (ActiveX-объект, предоставляющий средства доступа ко всей файловой системе компьютера, на котором исполняется программа)

  • Drive (объект, предоставляющий доступ к конкретному диску)

  • Folder (объект, позволяющий работать с конкретным каталогом и его содержимым)

  • File (объект, позволяющий работать с конкретным файлом, но не с его содержимым)

  • TextStream (объект, предоставляющий последовательный доступ к содержимому текстового файла для чтения или записи).

У этих объектов нет своих конструкторов. Создаются они (кроме объектов типа TextStream) при создании объекта FileSystemObject, который создаётся конструктором ActiveX-объектов:

fso = new ActiveXObject("Scripting.FileSystemObject")

Здесь fso– переменная, которой присваивается созданный объект.

При создании объекта FileSystemObject на клиентской машине Web-браузер сначала запрашивает у пользователя разрешение, и лишь получив его, создаёт объект, открывая тем самым сценарию Web-страницы доступ к информационным ресурсам компьютера (на сервере разрешение не запрашивается). Все создаваемые при этом объекты типа Drive, Folder и File соответствуют реальным дискам, папкам и файлам, имеющимся в этот момент в файловой системе компьютера. Свойства и методы этих объектов, связанные с текстовыми файлами, будут рассмотрены ниже. Полный перечень объектов, связанных с FileSystemObject, вместе с их свойствами и методами приводится в Приложении 4.