[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. При разработке приложений для Windows 10 см. раздел последняя документация]
Узнайте, как добавить возможности обработки файлов в приложение Магазина Windows на JavaScript, работающее в Windows 8.1.
В каждом разделе этой статьи описан важный компонент обработки файлов, приведена ссылка на статью с более подробной информацией об этом компоненте и даны инструкции, как быстро найти нужный код в сопутствующем примере обработки файлов от начала до конца этой статьи.
Примечание Многие функции, используемые для взаимодействия с папками и файлами, являются асинхронными. Информацию о создании асинхронных приложений на JavaScript см. в разделе Асинхронное программирование на JavaScript.
Основы доступа к файлам — перечисление, получение свойств, чтение и запись данных
Вы можете получить доступ к файлам в расположении, например в папке, библиотеке, на устройстве или в сетевом расположении, с помощью всего одной строки кода — вызова функции StorageFolder.getFilesAsync. В разделе Доступ к файлам программными средствами содержатся пошаговые инструкции по выполнению таких задач, как перечисление файлов и папок верхнего уровня в указанном расположении и запрос файлов в расположении.
Далее показано, как перечислить файлы в определенном расположении.
На этом снимке экрана из сопутствующего примера показан пример перечисления файлов в библиотеке изображений.
См. в примере. Пример содержит страницу FileAccessBasics, где представлены примеры из этого раздела. Соответствующий код JavaScript и HTML содержится в файлах FileAccessBasicsPage.js (функция OnEnumPicturesClick) и FileAccessBasicsPage.html.
Свойства файла описывают или оценивают атрибут файла или его содержимое. Например, к свойствам файла относятся такие данные, как имя файла, путь, размер файла, атрибуты файла и дата последнего доступа. В разделе Краткое руководство: получение свойств файла показано, как получать и отображать свойства верхнего уровня и основные свойства файла.
Эти шаги показывают, как получать свойства верхнего уровня или основные свойства файла:
В этом примере кода перечисляются все файлы в библиотеке изображений и отображаются различные свойства верхнего уровня и основные свойства файла. Обратите внимание, как используются объекты promises JavaScript для синхронизации результатов двух асинхронных операций (StorageFolder.getFilesAsync и StorageFile.getBasicPropertiesAsync). Подробнее об асинхронном программировании и promises в JavaScript: Асинхронное программирование на JavaScript.
На этом снимке экрана из сопутствующего примера показан пример получения различных свойств верхнего уровня и основных свойств файла.
См. в примере. Пример содержит страницу FileAccessBasics, где представлены примеры из этого раздела. Соответствующий код JavaScript и HTML содержится в файлах FileAccessBasicsPage.js (функция OnGetFilePropertiesClick) и FileAccessBasicsPage.html.
Чтение и запись файлов в приложении Магазина Windows реализуются при помощи класса FileIO. Раздел Краткое руководство: чтение и запись файла содержит примеры кода, в которых показаны способы чтения и записи различных типов данных при помощи классов FileIO и StorageFile.
Запись текста в файл
Для записи в файл необходимо сначала получить объект StorageFile и передать его одной из функций FileIO для записи данных. В сопутствующем примере с этой целью создается файл при помощи функции StorageFolder.createFileAsync.
Получив объект StorageFile, можно записывать текст в соответствующий файл при помощи одной из перегруженных функций FileIO.writeTextAsync.
Следующий пример кода записывает текущее время и дату в файл примера.
Для чтения содержимого файла необходимо сначала получить объект StorageFile и передать его одной из функций FileIO для чтения данных. В сопутствующем примере с этой целью вызывается функция StorageFolder.getFileAsync.
Получив объект StorageFile, можно считывать текст из соответствующего файла при помощи одной из перегруженных функций FileIO.readTextAsync.
Этот пример кода считывает содержимое из файла примера.
На этом снимке экрана показан результат выполнения примера и записи в пример файла.
См. в примере. Пример содержит страницу FileAccessBasics, где представлены примеры из этого раздела. Соответствующий код JavaScript и HTML содержится в файлах FileAccessBasicsPage.js (функции OnWriteTextToFileClick и OnReadTextFromFileClick) и FileAccessBasicsPage.html.
Средства выбора — как файлов, так и папок — используются для отображения списка файлов или папок, из которого пользователи могут выбрать один или несколько элементов для дальнейшей обработки. Средства выбора можно настроить программным способом, чтобы выполнять поиск файлов и папок, соответствующих условиям указанного фильтра (например, файлов с конкретными расширениями), чтобы начать работу с определенной папки, чтобы отобразить определенный режим просмотра (список или эскизы) и для многих других целей.
Далее показано, как настраивать различные средства выбора одного файла, нескольких файлов и одной папки.
Вызовите функцию FileOpenPicker.pickSingleFileAsync. По завершении выполнения функции FileOpenPicker.pickSingleFileAsync приложение получит доступ к выбранному файлу для чтения и записи.
В данном примере кода создается и отображается экземпляр средства выбора одного файла.
Вызовите функцию FileOpenPicker.pickMultipleFileAsync. По завершении выполнения функции FileOpenPicker.pickMultipleFileAsync приложение получит доступ к выбранным файлам для чтения и записи. Выбранные файлы представляются массивом объектов StorageFile. Свойство sizes массива указывает, сколько файлов было выбрано, поэтому для доступа к каждому объекту StorageFile можно использовать цикл for со стандартной нотацией массива.
Этот пример кода создает экземпляр средства выбора файлов для выбора нескольких файлов и отображает его.
На этом снимке экрана показан результат выполнения примера и выбора двух файлов (sample1.png и sample2.png).
См. в примере. Пример содержит страницу Средства выбора файлов и папок, где представлены задачи из этого раздела. Код JavaScript и HTML для этого примера содержится в файлах FilePickerPage.js и FilePickerPage.html соответственно.
В Windows 8.1 пользователи могут пометить файлы OneDrive как доступные только в сети. Когда пользователь отключен от OneDrive, эти файлы недоступны. Чтобы помочь вам программным способом определить доступность файла, существует новое свойство StorageFile.isAvailable.
Далее показано, как определить доступность файлов при помощи свойства StorageFile.isAvailable.
На этом снимке экрана показан результат проверки доступности для файлов в библиотеке изображений.
См. в примере. Пример включает в себя страницу "OneDriveFilesPage", содержащую кнопку, которая перечисляет все файлы в библиотеке изображений на локальном компьютере. Имя каждого файла отображается вместе с информацией о поставщике (например, этот компьютер или OneDrive) и текущей доступности файла. Код JavaScript и HTML для этого примера содержится в файлах OneDriveFilesPage.js и OneDriveFilesPage.html соответственно.
Рекомендуется. Использование комплекта сертификации приложений для Windows поможет вам убедиться, что ваше приложение отвечает всем требованиям Магазина Windows. Рекомендуется использовать этот комплект при добавлении любой важной функции в приложение.