在线html5 api中文版,HTML5+ API Reference
IO模塊管理本地文件系統(tǒng),用于對(duì)文件系統(tǒng)的目錄瀏覽、文件的讀取、文件的寫入等操作。通過(guò)plus.io可獲取文件系統(tǒng)管理對(duì)象。
常量:
方法:
對(duì)象:
DirectoryEntry: 文件系統(tǒng)中的目錄對(duì)象,用于管理特定的本地目錄
DirectoryReader: 讀取目錄信息對(duì)象,用于獲取目錄中包含的文件及子目錄
File: 文件系統(tǒng)中的文件數(shù)據(jù)對(duì)象,用于獲取文件的數(shù)據(jù)
FileEntry: 文件系統(tǒng)中的文件對(duì)象,用于管理特定的本地文件
FileReader: 文件系統(tǒng)中的讀取文件對(duì)象,用于獲取文件的內(nèi)容
FileWriter: 文件系統(tǒng)中的寫文件對(duì)象,用于寫入文件內(nèi)容
FileSystem: 文件系統(tǒng)對(duì)象,用于管理特定本地文件目錄
Flags: JSON對(duì)象,獲取文件操作的參數(shù)
Metadata: JSON對(duì)象,保存文件或目錄的狀態(tài)信息對(duì)象
FileEvent: 文件或目錄操作事件對(duì)象
URLType: 文件路徑類型
LocalURL: 本地路徑URL
RemoteURL: 網(wǎng)絡(luò)路徑URL
回調(diào)方法:
模塊:
5+功能模塊(permissions)
{
// ...
"permissions":{
// ...
"File": {
"description": "文件系統(tǒng)"
}
}
}
應(yīng)用運(yùn)行資源目錄常量
plus.io.PRIVATE_WWW;
說(shuō)明:
Number
類型
本地文件系統(tǒng)常量,Number類型,固定值1。應(yīng)用運(yùn)行資源目錄,僅本應(yīng)用可訪問(wèn)。
為了確保應(yīng)用資源的安全性,此目錄只可讀。
平臺(tái)支持
Android - ALL (支持):
Android平臺(tái)應(yīng)用資源是放到apk的assets目錄中,安裝到設(shè)備后無(wú)法枚舉,為了能夠正常枚舉訪問(wèn)此目錄,需要將應(yīng)用設(shè)置為釋放資源模式(在manifest.json中將runmode值設(shè)置為liberate),這樣程序在第一次運(yùn)行時(shí)將資源釋放到sdcard中。
通常在設(shè)備上的目錄為“/sdcard/Android/data/%PACKAGENAME%/apps/%APPID%/www”,其中%PACKAGENAME%是程序的包名、%APPID%是應(yīng)用的標(biāo)識(shí),如“/sdcard/Android/data/io.dcloud.HelloH5/apps/HelloH5/www”。
iOS - ALL (支持):
iOS平臺(tái)應(yīng)用資源是放到應(yīng)用的沙盒目錄中,安裝到設(shè)備后放到應(yīng)用沙盒目錄的“/DCloud_Pandora.app/Pandora/apps/%APPID%/www”,如“/DCloud_Pandora.app/Pandora/apps/HBuilder/www”。
如將應(yīng)用設(shè)置為釋放資源模式(在manifest.json中將runmode值設(shè)置為liberate),程序在第一次運(yùn)行時(shí)將資源釋放到應(yīng)用沙盒目錄下的Library中“/Library/Pandora/apps/%APPID%/www”,如“/Library/Pandora/apps/HBuilder/www”。
示例:
File Example// 擴(kuò)展API加載完畢后調(diào)用onPlusReady回調(diào)函數(shù)
document.addEventListener( "plusready", onPlusReady, false );
// 擴(kuò)展API加載完畢,現(xiàn)在可以正常調(diào)用擴(kuò)展API
function onPlusReady() {
plus.io.requestFileSystem( plus.io.PRIVATE_WWW, function( fs ) {
// 可通過(guò)fs操作PRIVATE_WWW文件系統(tǒng)
// ......
}, function ( e ) {
alert( "Request file system failed: " + e.message );
} );
}
Local file system
應(yīng)用私有文檔目錄常量
plus.io.PRIVATE_DOC;
說(shuō)明:
Number
類型
本地文件系統(tǒng)常量,Number類型,固定值2。應(yīng)用私有文檔目錄,僅本應(yīng)用可讀寫。
平臺(tái)支持
Android - ALL (支持):
通常在設(shè)備上的目錄為“/sdcard/Android/data/%PACKAGENAME%/.%APPID%/apps/%APPID%/doc”,其中%PACKAGENAME%是程序的包名、%APPID%是應(yīng)用的標(biāo)識(shí),如“/sdcard/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/doc”。
iOS - ALL (支持):
通常在設(shè)備應(yīng)用沙盒目錄下“/Library/Pandora/apps/%APPID%/doc”,其中%APPID%是應(yīng)用的標(biāo)識(shí),,如“/Library/Pandora/apps/HBuilder/doc”。
示例:
File Example// 擴(kuò)展API加載完畢后調(diào)用onPlusReady回調(diào)函數(shù)
document.addEventListener( "plusready", onPlusReady, false );
// 擴(kuò)展API加載完畢,現(xiàn)在可以正常調(diào)用擴(kuò)展API
function onPlusReady() {
plus.io.requestFileSystem( plus.io.PRIVATE_DOC, function( fs ) {
// 可通過(guò)fs操作PRIVATE_DOC文件系統(tǒng)
// ......
}, function ( e ) {
alert( "Request file system failed: " + e.message );
} );
}
Local file system
程序公用文檔目錄常量
plus.io.PUBLIC_DOCUMENTS;
說(shuō)明:
Number
類型
本地文件系統(tǒng)常量,Number類型,固定值3。程序公用文檔目錄,所有應(yīng)用可讀寫。
平臺(tái)支持
Android - ALL (支持):
通常在設(shè)備上的目錄為“/sdcard/Android/data/%PACKAGENAME%/.%APPID%/documents”,其中%PACKAGENAME%是程序的包名、%APPID%是應(yīng)用的標(biāo)識(shí),如“/sdcard/Android/data/io.dcloud.HBuilder/.HBuilder/documents”。
iOS - ALL (支持):
通常在設(shè)備應(yīng)用沙盒目錄下“/Library/Pandora/documents”。
示例:
File Example// 擴(kuò)展API加載完畢后調(diào)用onPlusReady回調(diào)函數(shù)
document.addEventListener( "plusready", onPlusReady, false );
// 擴(kuò)展API加載完畢,現(xiàn)在可以正常調(diào)用擴(kuò)展API
function onPlusReady() {
plus.io.requestFileSystem( plus.io.PUBLIC_DOCUMENTS, function( fs ) {
// 可通過(guò)fs操作PUBLIC_DOCUMENTS文件系統(tǒng)
// ......
}, function ( e ) {
alert( "Request file system failed: " + e.message );
} );
}
Local file system
程序公用下載目錄常量
plus.io.PUBLIC_DOWNLOADS;
說(shuō)明:
Number
類型
本地文件系統(tǒng)常量,Number類型,固定值4。程序公用下載目錄,所有應(yīng)用可讀寫。
平臺(tái)支持
Android - ALL (支持):
通常在設(shè)備上的目錄為“/sdcard/Android/data/%PACKAGENAME%/.%APPID%/downloads”,其中%PACKAGENAME%是程序的包名、%APPID%是應(yīng)用的標(biāo)識(shí),如“/sdcard/Android/data/io.dcloud.HBuilder/.HBuilder/downloads”。
iOS - ALL (支持):
通常在設(shè)備應(yīng)用沙盒目錄下“/Library/Pandora/downloads”。
示例:
File Example// 擴(kuò)展API加載完畢后調(diào)用onPlusReady回調(diào)函數(shù)
document.addEventListener( "plusready", onPlusReady, false );
// 擴(kuò)展API加載完畢,現(xiàn)在可以正常調(diào)用擴(kuò)展API
function onPlusReady() {
plus.io.requestFileSystem( plus.io.PUBLIC_DOWNLOADS, function( fs ) {
// 可通過(guò)fs操作PUBLIC_DOWNLOADS文件系統(tǒng)
// ......
}, function ( e ) {
alert( "Request file system failed: " + e.message );
} );
}
Local file system
請(qǐng)求本地文件系統(tǒng)對(duì)象
void plus.io.requestFileSystem( type, succesCB, errorCB );
說(shuō)明:
獲取指定的文件系統(tǒng),可通過(guò)type指定獲取文件系統(tǒng)的類型。
獲取指定的文件系統(tǒng)對(duì)象成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
type:
(
Number
)
必選本地文件系統(tǒng)常量
可取plus.io下的常量,如plus.io.PRIVATE_DOC、plus.io.PUBLIC_DOCUMENTS等。
succesCB:
errorCB:
返回值:
void
: 無(wú)
示例:
File Example// 擴(kuò)展API加載完畢后調(diào)用onPlusReady回調(diào)函數(shù)
document.addEventListener( "plusready", onPlusReady, false );
// 擴(kuò)展API加載完畢,現(xiàn)在可以正常調(diào)用擴(kuò)展API
function onPlusReady() {
plus.io.requestFileSystem( plus.io.PRIVATE_WWW, function( fs ) {
// 可通過(guò)fs進(jìn)行文件操作
alert( "Request file system success!" );
}, function ( e ) {
alert( "Request file system failed: " + e.message );
} );
}
Request file system
通過(guò)URL參數(shù)獲取目錄對(duì)象或文件對(duì)象
void plus.io.resolveLocalFileSystemURL( url, succesCB, errorCB );
說(shuō)明:
快速獲取指定的目錄或文件操作對(duì)象,如通過(guò)URL值“_www/test.html”可直接獲取文件操作對(duì)象。
url值可支持相對(duì)路徑URL、本地路徑URL、網(wǎng)絡(luò)路徑URL(http://localhost:13131/開頭)。
獲取指定的文件或目錄操作對(duì)象成功通過(guò)succesCB回調(diào)返回,如果指定URL路徑或文件不存在則失敗通過(guò)errorCB回調(diào)返回。
參數(shù):
url :
(
DOMString
)
必選要操作文件或目錄的URL地址
succesCB:
errorCB:
返回值:
void
: 無(wú)
示例:
File Example// 擴(kuò)展API加載完畢后調(diào)用onPlusReady回調(diào)函數(shù)
document.addEventListener( "plusready", onPlusReady, false );
// 擴(kuò)展API加載完畢,現(xiàn)在可以正常調(diào)用擴(kuò)展API
function onPlusReady() {
plus.io.resolveLocalFileSystemURL( "_www/test.html", function( entry ) {
// 可通過(guò)entry對(duì)象操作test.html文件
entry.file( function(file){
var fileReader = new plus.io.FileReader();
alert("getFile:" + JSON.stringify(file));
fileReader.readAsText(file, 'utf-8');
fileReader.onloadend = function(evt) {
alert("11" + evt);
alert("evt.target" + evt.target);
alert(evt.target.result);
}
alert(file.size + '--' + file.name);
} );
}, function ( e ) {
alert( "Resolve file URL failed: " + e.message );
} );
}
Request file system
將本地URL路徑轉(zhuǎn)換成平臺(tái)絕對(duì)路徑
String plus.io.convertLocalFileSystemURL( url );
說(shuō)明:
絕對(duì)路徑符合各平臺(tái)文件路徑格式,通常用于Native.JS調(diào)用系統(tǒng)原生文件操作API,也可以在前面添加“file://”后在html頁(yè)面中直接使用。
參數(shù):
url:
(
String
)
必選要轉(zhuǎn)換的文件或目錄URL地址
URL地址必須是合法的路徑,如果地址不合法則返回null。
返回值:
String
:
轉(zhuǎn)換后在平臺(tái)路徑,在不同平臺(tái)或者不同設(shè)備返回的值可能存在差異,如輸入url為“_doc/a.png”:
Android平臺(tái)轉(zhuǎn)換后的路徑為“/storage/sdcard0/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/doc/a.png”;
在iOS平臺(tái)轉(zhuǎn)換后的路徑為“/var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/Library/Pandora/apps/HBuilder/doc/a.png”。
示例:
File Example// 擴(kuò)展API加載完畢后調(diào)用onPlusReady回調(diào)函數(shù)
document.addEventListener( "plusready", onPlusReady, false );
// 擴(kuò)展API加載完畢,現(xiàn)在可以正常調(diào)用擴(kuò)展API
function onPlusReady(){
var url="_www/index.html";
var path=plus.io.convertLocalFileSystemURL(url);
alert(path);
}
convertLocalFileSystemURL
將平臺(tái)絕對(duì)路徑轉(zhuǎn)換成本地URL路徑
String plus.io.convertAbsoluteFileSystem( path );
說(shuō)明:
絕對(duì)路徑符合各平臺(tái)文件路徑格式,轉(zhuǎn)換后變成RelativeURL類型格式。
功能與convertLocalFileSystemURL方法相反,將絕對(duì)路徑轉(zhuǎn)換成相對(duì)路徑。
參數(shù):
path:
(
String
)
必選要轉(zhuǎn)換的平臺(tái)絕對(duì)路徑
絕對(duì)路徑必須是合法的路徑,如果絕對(duì)路徑不合法則返回null。
返回值:
DOMString
: 轉(zhuǎn)換后本地URL路徑
示例:
File Example// 擴(kuò)展API加載完畢后調(diào)用onPlusReady回調(diào)函數(shù)
document.addEventListener( "plusready", onPlusReady, false );
// 擴(kuò)展API加載完畢,現(xiàn)在可以正常調(diào)用擴(kuò)展API
function onPlusReady(){
var url="_www/index.html";
var path=plus.io.convertLocalFileSystemURL(url);
var newurl = plus.io.convertAbsoluteFileSystem(path);
alert(newurl); // 顯示值為“_www/index.html”
}
convertAbsoluteFileSystem
文件系統(tǒng)中的目錄對(duì)象,用于管理特定的本地目錄
屬性:
isFile: 操作對(duì)象的是否為文件,DirectoryEntry對(duì)象固定其值為false
isDirectory: 操作對(duì)象是否為目錄,DirectoryEntry對(duì)象固定其值為true
name: 目錄操作對(duì)象的名稱,不包括路徑
fullPath: 目錄操作對(duì)象的完整路徑,文件系統(tǒng)的絕對(duì)路徑
fileSystem: 文件操作對(duì)象所屬的文件系統(tǒng)對(duì)象,參考FileSystem
方法:
moveTo: 移動(dòng)目錄
copyTo: 拷貝目錄
toURL: 獲取目錄路徑轉(zhuǎn)換為URL地址
toLocalURL: 獲取目錄路徑轉(zhuǎn)換為本地路徑URL地址
toRemoteURL: 獲取目錄路徑轉(zhuǎn)換為網(wǎng)絡(luò)路徑URL地址
remove: 刪除目錄
getParent: 獲取目錄所屬的父目錄
getFile: 創(chuàng)建或打開文件
操作對(duì)象的是否為文件,DirectoryEntry對(duì)象固定其值為false
說(shuō)明:
Boolean
類型
只讀屬性
操作對(duì)象是否為目錄,DirectoryEntry對(duì)象固定其值為true
說(shuō)明:
Boolean
類型
只讀屬性
目錄操作對(duì)象的名稱,不包括路徑
說(shuō)明:
DOMString
類型
只讀屬性
目錄操作對(duì)象的完整路徑,文件系統(tǒng)的絕對(duì)路徑
說(shuō)明:
DOMString
類型
只讀屬性
文件操作對(duì)象所屬的文件系統(tǒng)對(duì)象,參考FileSystem
說(shuō)明:
FileSystem
類型
只讀屬性
獲取目錄的屬性
entry.getMetadata( successCB, errorCB, recursive );
說(shuō)明:
用于獲取文件或目錄的屬性信息。
獲取屬性信息成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
succesCB:
errorCB:
recursive:
(
Boolean
)
必選是否遞歸計(jì)算目錄信息
true為遞歸計(jì)算獲取信息,false不遞歸計(jì)算獲取,默認(rèn)值為false。
返回值:
void
: 無(wú)
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Request the metadata object for this entry
entry.getMetadata( function ( metadata ) {
plus.console.log("Last Modified: " + metadata.modificationTime);
}, function () {
alert( e.message );
} );
移動(dòng)目錄
entry.moveTo( parent, newName, succesCB, errorCB );
說(shuō)明:
以下情況移動(dòng)目錄將會(huì)導(dǎo)致失敗:
將父目錄移動(dòng)到子目錄中;
要移動(dòng)到的目標(biāo)目錄無(wú)效;
要移動(dòng)到的目標(biāo)路徑被文件占用;
要移動(dòng)到的目標(biāo)目錄已經(jīng)存在并且不為空。
移動(dòng)目錄成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
parent:
newName:
(
DOMString
)
可選移動(dòng)后的目錄名稱,默認(rèn)為原始目錄名稱
succesCB:
errorCB:
返回值:
void
: 無(wú)
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
function moveDirecty(srcEntry,dstEntry) {
var newName = document.getElementById('newName').value,
// move the directory to a new directory and rename it
srcEntry.moveTo( dstEntry, newName, function( entry ) {
plus.console.log("New Path: " + entry.fullPath);
}, function ( e ) {
alert( e.message );
} );
}
拷貝目錄
entry.copyTo( parent, newName, succesCB, errorCB );
說(shuō)明:
以下情況拷貝目錄將會(huì)導(dǎo)致失敗:
將父目錄拷貝到子目錄中;
要拷貝到的目標(biāo)目錄無(wú)效;
要拷貝到的目標(biāo)路徑被文件占用;
要拷貝到的目標(biāo)目錄已經(jīng)存在并且不為空。
拷貝目錄成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
parent:
newName:
(
DOMString
)
可選拷貝后的目錄名稱,默認(rèn)為原始目錄名稱
succesCB:
errorCB:
返回值:
void
: 無(wú)
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
function copyDirecty(srcEntry,dstEntry){
var newName = document.getElementById('newName').value,
// copy the directory to a new directory and rename it
srcEntry.copyTo( dstEntry, newName, function( entry ){
plus.console.log("New Path: " + entry.fullPath);
}, function( e ){
alert( e.message );
} );
}
獲取目錄路徑轉(zhuǎn)換為URL地址
DOMString entry.toURL();
參數(shù):
返回值:
DOMString
: 格式為相對(duì)路徑URL
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the URL for this directory
var dirURL = entry.toURL();
plus.console.log(dirURL);
獲取目錄路徑轉(zhuǎn)換為本地路徑URL地址
DOMString entry.toLocalURL();
參數(shù):
返回值:
DOMString
: 格式為本地路徑URL
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the local URL for this directory
var dirURL = entry.toLocalURL();
plus.console.log(dirURL);
獲取目錄路徑轉(zhuǎn)換為網(wǎng)絡(luò)路徑URL地址
DOMString entry.toRemoteURL();
參數(shù):
返回值:
DOMString
:
URL地址格式為以“http://localhost:13131/”開頭的網(wǎng)絡(luò)路徑。
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the remote URL for this directory
var dirURL = entry.toRemoteURL();
plus.console.log(dirURL);
刪除目錄
entry.remove( succesCB, errorCB );
說(shuō)明:
以下情況刪除目錄將會(huì)導(dǎo)致失敗:
目錄中存在文件;
刪除根目錄;
刪除目錄成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
succesCB:
errorCB:
返回值:
void
: 無(wú)
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// remove this directory
entry.remove( function ( entry ) {
plus.console.log( "Remove succeeded" );
}, function ( e ) {
alert( e.message );
} );
獲取目錄所屬的父目錄
entry.getParent( succesCB, errorCB );
說(shuō)明:
獲取父目錄成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
succesCB:
errorCB:
返回值:
void
: 無(wú)
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the parent DirectoryEntry
entry.getParent( function ( entry ) {
plus.console.log( "Parent Name: " + entry.name );
}, function ( e ) {
alert( e.message );
} );
創(chuàng)建目錄讀取對(duì)象
DirectoryReader entry.createReader();
說(shuō)明:
創(chuàng)建一個(gè)目錄讀取對(duì)象,用戶讀取目下的文件及子目錄。
參數(shù):
返回值:
DirectoryReader
: 目錄讀取對(duì)象
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// create a directory reader
var directoryReader = entry.createReader();
創(chuàng)建或打開子目錄
entry.getDirectory( path, flag, succesCB, errorCB );
說(shuō)明:
創(chuàng)建或打開當(dāng)前目錄指定的目錄。
創(chuàng)建或打開目錄操作成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
path:
(
DOMString
)
必選要操作目錄相對(duì)于當(dāng)前目錄的地址
flag:
(
Flags
)
可選要操作文件或目錄的參數(shù)
succesCB:
errorCB:
返回值:
void
: 無(wú)
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Retrieve an existing directory, or create it if it does not already exist
entry.getDirectory( "newDir", {create:true,exclusive:false}, function( dir ){
console.log("Directory Entry Name: " + dir.name);
}, function () {
alert( e.message );
} );
創(chuàng)建或打開文件
entry.getFile( path, flag, succesCB, errorCB );
說(shuō)明:
創(chuàng)建或打開當(dāng)前目錄下指定的文件。
創(chuàng)建或打開文件操作對(duì)象成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
path:
(
DOMString
)
必選要操作文件相對(duì)于當(dāng)前目錄的地址
flag:
(
Flags
)
可選要操作文件或目錄的參數(shù)
succesCB:
errorCB:
返回值:
void
: 無(wú)
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
File Example// 擴(kuò)展API加載完畢后調(diào)用onPlusReady回調(diào)函數(shù)
document.addEventListener( "plusready", onPlusReady, false );
// 擴(kuò)展API加載完畢,現(xiàn)在可以正常調(diào)用擴(kuò)展API
function onPlusReady() {
plus.io.requestFileSystem( plus.io.PRIVATE_WWW, function(fs){
// fs.root是根目錄操作對(duì)象DirectoryEntry
fs.root.getFile('config.xml',{create:true}, function(fileEntry){
fileEntry.file( function(file){
var fileReader = new plus.io.FileReader();
alert("getFile:" + JSON.stringify(file));
fileReader.readAsText(file, 'utf-8');
fileReader.onloadend = function(evt) {
alert("11" + evt);
alert("evt.target" + evt.target);
alert(evt.target.result);
}
alert(file.size + '--' + file.name);
} );
});
} );
}
Request file system
遞歸刪除目錄
entry.removeRecursively( succesCB, errorCB );
說(shuō)明:
刪除目錄將會(huì)刪除其下的所有文件及子目錄
不能刪除根目錄,如果操作刪除根目錄將會(huì)刪除目錄下的文件及子目錄,不會(huì)刪除根目錄自身。
刪除目錄成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
succesCB:
errorCB:
返回值:
void
: 無(wú)
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// remove the directory and all it's contents
entry.removeRecursively( function ( entry ) {
plus.console.log( "Remove Recursively Succeeded" );
}, function ( e ) {
alert( e.message );
} );
讀取目錄信息對(duì)象,用于獲取目錄中包含的文件及子目錄
方法:
readEntries: 獲取當(dāng)前目錄中的所有文件和子目錄
獲取當(dāng)前目錄中的所有文件和子目錄
directoryReader.readEntries( succesCB, errorCB );
說(shuō)明:
獲取當(dāng)前目錄下的所有文件和子目錄。
獲取操作成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
succesCB:
errorCB:
返回值:
void
: 無(wú)
示例:
File Example// 擴(kuò)展API加載完畢后調(diào)用onPlusReady回調(diào)函數(shù)
document.addEventListener( "plusready", onPlusReady, false );
// 擴(kuò)展API加載完畢,現(xiàn)在可以正常調(diào)用擴(kuò)展API
function onPlusReady() {
plus.io.requestFileSystem( plus.io.PRIVATE_WWW, function(fs){
// fs.root是根目錄操作對(duì)象DirectoryEntry
// 創(chuàng)建讀取目錄信息對(duì)象
var directoryReader = fs.root.createReader();
directoryReader.readEntries( function( entries ){
var i;
for( i=0; i < entries.length; i++ ) {
alert( entries[i].name );
}
}, function ( e ) {
alert( "Read entries failed: " + e.message );
} );
} );
}
Request file system
文件系統(tǒng)中的文件數(shù)據(jù)對(duì)象,用于獲取文件的數(shù)據(jù)
屬性:
size: 文件數(shù)據(jù)對(duì)象的數(shù)據(jù)大小,單位為字節(jié)
type: 文件數(shù)據(jù)對(duì)象MIME類型
name: 文件數(shù)據(jù)對(duì)象的名稱,不包括路徑
方法:
slice: 獲取文件指定的數(shù)據(jù)內(nèi)容
close: 關(guān)閉文件數(shù)據(jù)對(duì)象
文件數(shù)據(jù)對(duì)象的數(shù)據(jù)大小,單位為字節(jié)
說(shuō)明:
Number
類型
只讀屬性
文件數(shù)據(jù)對(duì)象MIME類型
說(shuō)明:
DOMString
類型
只讀屬性
文件數(shù)據(jù)對(duì)象的名稱,不包括路徑
說(shuō)明:
DOMString
類型
只讀屬性
文件對(duì)象的最后修改時(shí)間
說(shuō)明:
Date
類型
只讀屬性
獲取文件指定的數(shù)據(jù)內(nèi)容
file.slice( start, end );
說(shuō)明:
獲取文件指定的數(shù)據(jù)內(nèi)容,其中end必須大于start。
參數(shù):
start:
(
Number
)
可選獲取文件數(shù)據(jù)的其實(shí)位置
end:
(
Number
)
可選獲取文件數(shù)據(jù)的結(jié)束位置
返回值:
File
: 指定數(shù)據(jù)內(nèi)容的文件對(duì)象
示例:
var slice1 = file.slice(100, 400);
var slice2 = slice1.slice(20, 35);
var slice3 = file.slice(120, 135);
// slice2 and slice3 are equivalent.
關(guān)閉文件數(shù)據(jù)對(duì)象
file.close();
說(shuō)明:
當(dāng)文件數(shù)據(jù)對(duì)象不再使用時(shí),可通過(guò)此方法關(guān)閉,釋放系統(tǒng)資源。
參數(shù):
返回值:
void
: 無(wú)
示例:
var slice1 = file.slice(100, 400);
var slice2 = slice1.slice(20, 35);
var slice3 = file.slice(120, 135);
// slice2 and slice3 are equivalent.
// ......
slice3.close();
文件系統(tǒng)中的文件對(duì)象,用于管理特定的本地文件
屬性:
isFile: 文件操作對(duì)象的是否為文件,FileEntry對(duì)象固定其值為true
isDirectory: 文件操作對(duì)象是否為目錄,FileEntry對(duì)象固定其值為false
name: 文件操作對(duì)象的名稱,不包括路徑
fullPath: 文件操作對(duì)象的完整路徑,文件系統(tǒng)的絕對(duì)路徑
fileSystem: 文件操作對(duì)象所屬的文件系統(tǒng)對(duì)象,參考FileSystem
方法:
getMetadata: 獲取文件的屬性信息
moveTo: 移動(dòng)文件
copyTo: 拷貝文件
toURL: 獲取文件路徑轉(zhuǎn)換為URL地址
toLocalURL: 獲取文件路徑轉(zhuǎn)換為本地路徑URL地址
toRemoteURL: 獲取文件路徑轉(zhuǎn)換為網(wǎng)絡(luò)路徑URL地址
remove: 刪除文件
getParent: 獲取文件所屬的父目錄
createWriter: 獲取文件關(guān)聯(lián)的寫文件操作對(duì)象FileWriter
file: 獲取文件數(shù)據(jù)對(duì)象
文件操作對(duì)象的是否為文件,FileEntry對(duì)象固定其值為true
說(shuō)明:
Boolean
類型
只讀屬性
文件操作對(duì)象是否為目錄,FileEntry對(duì)象固定其值為false
說(shuō)明:
Boolean
類型
只讀屬性
文件操作對(duì)象的名稱,不包括路徑
說(shuō)明:
DOMString
類型
只讀屬性
文件操作對(duì)象的完整路徑,文件系統(tǒng)的絕對(duì)路徑
說(shuō)明:
DOMString
類型
只讀屬性
文件操作對(duì)象所屬的文件系統(tǒng)對(duì)象,參考FileSystem
說(shuō)明:
獲取文件的屬性信息
entry.getMetadata( successCB, errorCB );
說(shuō)明:
用于獲取文件的屬性信息。
獲取屬性信息成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
succesCB:
errorCB:
返回值:
void
: 無(wú)
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Request the metadata object for this entry
entry.getMetadata( function ( metadata ) {
plus.console.log("Last Modified: " + metadata.modificationTime);
}, function () {
alert( e.message );
} );
移動(dòng)文件
entry.moveTo( parent, newName, succesCB, errorCB );
說(shuō)明:
以下情況移動(dòng)目錄將會(huì)導(dǎo)致失敗:
要移動(dòng)到的目標(biāo)目錄無(wú)效;
要移動(dòng)到的目標(biāo)路徑被其它文件占用;
移動(dòng)文件成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
parent:
newName:
(
DOMString
)
可選移動(dòng)后的文件名稱,默認(rèn)為原始文件名稱
succesCB:
errorCB:
返回值:
void
: 無(wú)
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
function moveFile(fileEntry,dstEntry){
// move the file to a new directory and rename it
fileEntry.moveTo( dstEntry, "newfile.txt", function( entry ){
plus.console.log("New Path: " + entry.fullPath);
}, function( e ){
alert( e.message );
} );
}
拷貝文件
entry.copyTo( parent, newName, succesCB, errorCB );
說(shuō)明:
以下情況拷貝文件將會(huì)導(dǎo)致失敗:
要拷貝到的目標(biāo)目錄無(wú)效;
要拷貝到的目標(biāo)路徑被其它文件占用;
拷貝文件成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
parent:
newName:
(
DOMString
)
可選拷貝后的文件名稱,默認(rèn)為原始文件名稱
succesCB:
errorCB:
返回值:
void
: 無(wú)
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
function copyFile(fileEntry,dstEntry) {
// copy the file to a new directory and rename it
fileEntry.copyTo( dstEntry, "file.copy", function( entry ){
plus.console.log("New Path: " + entry.fullPath);
}, function( e ){
alert( e.message );
} );
}
獲取文件路徑轉(zhuǎn)換為URL地址
DOMString entry.toURL();
參數(shù):
返回值:
DOMString
: 格式為相對(duì)路徑URL
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the URL for this file
var fileURL = entry.toURL();
plus.console.log(fileURL);
獲取文件路徑轉(zhuǎn)換為本地路徑URL地址
DOMString entry.toLocalURL();
參數(shù):
返回值:
DOMString
: 格式為本地路徑URL
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the local URL for this file
var fileURL = entry.toLocalURL();
plus.console.log(dirURL);
獲取文件路徑轉(zhuǎn)換為網(wǎng)絡(luò)路徑URL地址
DOMString entry.toRemoteURL();
說(shuō)明:
URL地址格式為以“http://localhost:13131/”開頭的網(wǎng)絡(luò)路徑。
參數(shù):
無(wú)
返回值:
DOMString
: 網(wǎng)絡(luò)格式路徑URL
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the remote URL for this file
var fileURL = entry.toRemoteURL();
plus.console.log(dirURL);
刪除文件
entry.remove( succesCB, errorCB );
說(shuō)明:
刪除文件成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
succesCB:
errorCB:
返回值:
void
: 無(wú)
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// remove this file
entry.remove( function ( entry ) {
plus.console.log( "Remove succeeded" );
}, function ( e ) {
alert( e.message );
} );
獲取文件所屬的父目錄
entry.getParent( succesCB, errorCB );
說(shuō)明:
獲取父目錄成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
succesCB:
errorCB:
返回值:
void
: 無(wú)
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the parent DirectoryEntry
entry.getParent( function ( entry ) {
plus.console.log( "Parent Name: " + entry.name );
}, function ( e ) {
alert( e.message );
} );
獲取文件關(guān)聯(lián)的寫文件操作對(duì)象FileWriter
entry.createWriter( succesCB, errorCB );
說(shuō)明:
獲取寫文件操作對(duì)象成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
succesCB:
errorCB:
返回值:
void
: 無(wú)
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// create a FileWriter to write to the file
entry.createWriter( function ( writer ) {
// Write data to file.
writer.write( "Data " );
}, function ( e ) {
alert( e.message );
} );
獲取文件數(shù)據(jù)對(duì)象
entry.file( succesCB, errorCB );
說(shuō)明:
獲取文件數(shù)據(jù)對(duì)象成功通過(guò)succesCB回調(diào)返回,失敗則通過(guò)errorCB返回。
參數(shù):
succesCB:
errorCB:
返回值:
void
: 無(wú)
平臺(tái)支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the parent DirectoryEntry
entry.file( function ( file ) {
plus.console.log("File size: " + file.size);
}, function ( e ) {
alert( e.message );
} );
文件系統(tǒng)中的讀取文件對(duì)象,用于獲取文件的內(nèi)容
說(shuō)明:
FileReader對(duì)象是從設(shè)備文件系統(tǒng)讀取文件FileReader對(duì)象是從設(shè)備文件系統(tǒng)讀取文件的一種方式,文件以文本或者Base64編碼的字符串形式讀出來(lái)。
用戶注冊(cè)自己的事件監(jiān)聽器來(lái)接收l(shuí)oadstart、progress、load、loadend、error和abort事件。
構(gòu)造:
FileReader: 創(chuàng)建讀取文件對(duì)象
常量:
EMPTY: 值為0,開始讀取文件狀態(tài)
LOADING: 值為1,正在讀取文件狀態(tài)
DONE: 值為2,讀文件操作完成狀態(tài)
屬性:
readyState: 當(dāng)前讀取文件所處的狀態(tài)
result: 已讀取文件的內(nèi)容
error: 文件操作錯(cuò)誤代碼
方法:
abort: 終止文件讀取操作
readAsDataURL: 以URL編碼格式讀取文件數(shù)據(jù)內(nèi)容
readAsText: 以文本格式讀取文件數(shù)據(jù)內(nèi)容
事件:
onloadstart: 讀取文件開始時(shí)的回調(diào)函數(shù)
onprogress: 讀取文件過(guò)程中的回調(diào)函數(shù)
onload: 讀取文件成功完成的回調(diào)函數(shù)
onabort: 取消讀取文件時(shí)的回調(diào)函數(shù)
onerror: 文件讀取操作失敗時(shí)調(diào)用的回調(diào)函數(shù)
onloadend: 文件讀取操作完成時(shí)的回調(diào)函數(shù)
創(chuàng)建讀取文件對(duì)象
說(shuō)明:
創(chuàng)建讀取文件對(duì)象
參數(shù):
無(wú)
返回值:
FileReader
:
值為0,開始讀取文件狀態(tài)
說(shuō)明:
Number
類型
值為1,正在讀取文件狀態(tài)
說(shuō)明:
Number
類型
值為2,讀文件操作完成狀態(tài)
說(shuō)明:
Number
類型
當(dāng)前讀取文件所處的狀態(tài)
說(shuō)明:
Number
類型
只讀屬性
可取上面定義的常量值,EMPTY(0)、LOADING(1)、DONE(2)。
已讀取文件的內(nèi)容
說(shuō)明:
DOMString
類型
只讀屬性
文件操作錯(cuò)誤代碼
說(shuō)明:
Number
類型
只讀屬性
終止文件讀取操作
reader.abort();
說(shuō)明:
讀取文件操作開始后,可通過(guò)此方法取消讀取文件。
調(diào)用此方法后將觸發(fā)文件讀取對(duì)象的onabort事件。
參數(shù):
返回值:
void
: 無(wú)
示例:
// Read data from file
var reader = null;
entry.file( function ( file ) {
reader = new plus.io.FileReader();
reader.onloadend = function ( e ) {
plus.console.log( "Read success" );
// Get data
plus.console.log( e.target.result );
};
reader.readAsText( file );
}, function ( e ) {
alert( e.message );
} );
// ......
// Abort read data from file
reader.abort();
以URL編碼格式讀取文件數(shù)據(jù)內(nèi)容
reader.readAsDataURL( file, encoding );
說(shuō)明:
讀取文件的數(shù)據(jù)內(nèi)容,并將數(shù)據(jù)內(nèi)容進(jìn)行URL編碼。
參數(shù):
file:
(
File
)
必選要讀取的文件數(shù)據(jù)對(duì)象
encoding :
(
DOMString
)
可選讀取文件數(shù)據(jù)內(nèi)容的字符編碼格式
目前僅支持UTF-8編碼格式。
返回值:
void
: 無(wú)
示例:
// Read data from file
var reader = null;
entry.file( function ( file ) {
reader = new plus.io.FileReader();
reader.onloadend = function ( e ) {
plus.console.log( "Read success" );
// Get data
plus.console.log( e.target.result );
};
reader.readAsDataURL( file );
}, function ( e ) {
alert( e.message );
} );
以文本格式讀取文件數(shù)據(jù)內(nèi)容
reader.readAsText( file, encoding );
說(shuō)明:
讀取文件的數(shù)據(jù)內(nèi)容。
參數(shù):
file:
(
File
)
必選要讀取的文件數(shù)據(jù)對(duì)象
encoding :
(
DOMString
)
可選讀取文件數(shù)據(jù)內(nèi)容的字符編碼格式
目前僅支持UTF-8編碼格式。
返回值:
void
: 無(wú)
示例:
// Read data from file
var reader = null;
entry.file( function ( file ) {
reader = new plus.io.FileReader();
reader.onloadend = function ( e ) {
plus.console.log( "Read success" );
// Get data
plus.console.log( e.target.result );
};
reader.readAsText( file );
}, function ( e ) {
alert( e.message );
} );
讀取文件開始時(shí)的回調(diào)函數(shù)
說(shuō)明:
讀取文件過(guò)程中的回調(diào)函數(shù)
說(shuō)明:
用于獲取文件讀取進(jìn)度。
讀取文件成功完成的回調(diào)函數(shù)
說(shuō)明:
取消讀取文件時(shí)的回調(diào)函數(shù)
說(shuō)明:
文件讀取操作失敗時(shí)調(diào)用的回調(diào)函數(shù)
說(shuō)明:
文件讀取操作完成時(shí)的回調(diào)函數(shù)
說(shuō)明:
不管成功或失敗都會(huì)觸發(fā)。
文件系統(tǒng)中的寫文件對(duì)象,用于寫入文件內(nèi)容
說(shuō)明:
FileWriter對(duì)象是從設(shè)備文件系統(tǒng)寫入文件FileWriter對(duì)象是從設(shè)備文件系統(tǒng)寫入文件的一種方式,用戶注冊(cè)自己的事件監(jiān)聽器來(lái)接收writestart、progress、write、writeend、error和abort事件。
一個(gè)FileWriter對(duì)象是為單個(gè)文件的操作而創(chuàng)建。你可以使用該對(duì)象多次對(duì)相應(yīng)文件進(jìn)行寫入操作。FileWriter維護(hù)該文件的指針位置及長(zhǎng)度屬性,這樣你就可以尋找和寫入文件的任何地方。
默認(rèn)情況下,FileWriter從文件的開頭開始寫入(將覆蓋現(xiàn)有數(shù)據(jù))。FileWriter對(duì)象的seek方法可設(shè)置文件操作指定位置,如fw.seek(fw.length-1)寫入操作就會(huì)從文件的末尾開始。
常量:
INIT: 值為0,寫文件初始化狀態(tài)
WRITING: 值為1,正在寫入文件狀態(tài)
DONE: 值為2,寫文件操作完成狀態(tài)
屬性:
readyState: 當(dāng)前寫入文件所處的狀態(tài)
length: 文件當(dāng)前的長(zhǎng)度,單位為字節(jié)
position: 文件當(dāng)前操作的指針位置
error: 文件寫入操作錯(cuò)誤代碼
方法:
abort: 終止文件寫入操作
seek: 定位文件操作位置
truncate: 按照指定長(zhǎng)度截?cái)辔募?/p>
write: 向文件中寫入數(shù)據(jù)
事件:
onwritestart: 寫入文件開始時(shí)的回調(diào)函數(shù)
onprogress: 寫入文件過(guò)程中的回調(diào)函數(shù)
onwrite: 寫入文件成功完成的回調(diào)函數(shù)
onabort: 取消寫入文件時(shí)的回調(diào)函數(shù)
onerror: 文件寫入操作失敗時(shí)調(diào)用的回調(diào)函數(shù)
onwriteend: 文件寫入操作完成時(shí)的回調(diào)函數(shù)
值為0,寫文件初始化狀態(tài)
說(shuō)明:
Number
類型
值為1,正在寫入文件狀態(tài)
說(shuō)明:
Number
類型
值為2,寫文件操作完成狀態(tài)
說(shuō)明:
Number
類型
當(dāng)前寫入文件所處的狀態(tài)
說(shuō)明:
Number
類型
只讀屬性
可取上面定義的常量值,INIT(0)、WRITING(1)、DONE(2)。
文件當(dāng)前的長(zhǎng)度,單位為字節(jié)
說(shuō)明:
Number
類型
只讀屬性
文件當(dāng)前操作的指針位置
說(shuō)明:
Number
類型
只讀屬性
文件寫入操作錯(cuò)誤代碼
說(shuō)明:
Number
類型
只讀屬性
終止文件寫入操作
writer.abort();
說(shuō)明:
寫入文件數(shù)據(jù)操作開始后,可通過(guò)此方法取消寫入文件數(shù)據(jù)操作。
調(diào)用此方法后將觸發(fā)文件寫入對(duì)象的onabort事件。
參數(shù):
返回值:
void
: 無(wú)
示例:
// Write data to file
var w = null;
entry.createWriter( function ( writer ) {
w = writer;
// fast forwards file pointer to end of file
writer.seek( writer.length-1 );
}, function ( e ) {
alert( e.message );
} );
// ......
// Abort write data to file
w.abort();
定位文件操作位置
writer.seek( position );
說(shuō)明:
定位文件的操作位置,有效值為0到文件的總長(zhǎng)度減1。
0表示文件的起始位置。
參數(shù):
position:
(
Number
)
必選要定位到的位置
返回值:
void
: 無(wú)
示例:
// Write data to file
var w = null;
entry.createWriter( function ( writer ) {
w = writer;
// fast forwards file pointer to end of file
writer.seek( writer.length-1 );
}, function ( e ) {
alert( e.message );
} );
按照指定長(zhǎng)度截?cái)辔募?/p>
writer.truncate( length );
說(shuō)明:
從文件當(dāng)前定位的位置開始,按照指定長(zhǎng)度截?cái)辔募?/p>
參數(shù):
length :
(
Number
)
必選截?cái)嗪蟮奈募L(zhǎng)度
返回值:
void
: 無(wú)
示例:
// Truncate file
entry.createWriter( function ( writer ) {
// Truncate file data length to 100
writer.truncate( 100 );
}, function ( e ) {
alert( e.message );
} );
向文件中寫入數(shù)據(jù)
writer.write( data );
說(shuō)明:
從文件當(dāng)前定位的位置開始,寫入數(shù)據(jù)到文件中。
如果文件中已經(jīng)存在數(shù)據(jù),新寫入的數(shù)據(jù)將覆蓋已有數(shù)據(jù)。
參數(shù):
data :
(
DOMString
)
必選要寫入的數(shù)據(jù)內(nèi)容
返回值:
void
: 無(wú)
示例:
// Write data to file
entry.createWriter( function ( writer ) {
writer.onwrite = function ( e ) {
plus.console.log( "Write data success!" );
};
// Write data to the end of file.
writer.seek( writer.length );
writer.write( "New data!" );
}, function ( e ) {
alert( e.message );
} );
寫入文件開始時(shí)的回調(diào)函數(shù)
說(shuō)明:
寫入文件過(guò)程中的回調(diào)函數(shù)
說(shuō)明:
用于獲取文件讀取進(jìn)度。
寫入文件成功完成的回調(diào)函數(shù)
說(shuō)明:
取消寫入文件時(shí)的回調(diào)函數(shù)
說(shuō)明:
文件寫入操作失敗時(shí)調(diào)用的回調(diào)函數(shù)
說(shuō)明:
文件寫入操作完成時(shí)的回調(diào)函數(shù)
說(shuō)明:
不管成功或失敗都會(huì)觸發(fā)。
文件系統(tǒng)對(duì)象,用于管理特定本地文件目錄
說(shuō)明:
文件系統(tǒng)對(duì)象表示一個(gè)應(yīng)用可訪問(wèn)的根目錄。name屬性用于標(biāo)識(shí)此根目錄的名稱,與LocalFileSystem中的文件系統(tǒng)類型一一對(duì)應(yīng)。root屬性為文件目錄對(duì)象,用于實(shí)際操作文件系統(tǒng),參考DirectoryEntry。
屬性:
name: 文件系統(tǒng)的名稱
root: 文件系統(tǒng)的根目錄
示例:
File Example// 擴(kuò)展API加載完畢后調(diào)用onPlusReady回調(diào)函數(shù)
document.addEventListener( "plusready", onPlusReady, false );
// 擴(kuò)展API加載完畢,現(xiàn)在可以正常調(diào)用擴(kuò)展API
function onPlusReady() {
plus.io.requestFileSystem( plus.io.PRIVATE_WWW, function( fs ) {
// 可通過(guò)fs進(jìn)行文件操作
alert( "File system name: " + fs.name );
// 通過(guò)fs.root獲取DirectoryEntry對(duì)象進(jìn)行操作
// fs.root
}, function ( e ) {
alert( "Request file system failed: " + e.message );
} );
}
Request file system
文件系統(tǒng)的名稱
說(shuō)明:
DOMString
類型
只讀屬性
值為文件系統(tǒng)類型常量值字符串,如“PRIVATE_WWW”、“PRIVATE_DOCUMENTS”。
文件系統(tǒng)的根目錄
說(shuō)明:
JSON對(duì)象,獲取文件操作的參數(shù)
屬性:
create: (Boolean
類型
)是否創(chuàng)建對(duì)象標(biāo)記
指示如果文件或目錄不存在時(shí)是否進(jìn)行創(chuàng)建,默認(rèn)值為false。
exclusive: (Boolean
類型
)反向操作標(biāo)記
其本身沒(méi)有任何效果,需與create屬性值設(shè)置為true時(shí)一起使用,如果目標(biāo)文件或目錄已經(jīng)存在則會(huì)導(dǎo)致文件或目錄打開失敗,默認(rèn)值為false。
JSON對(duì)象,保存文件或目錄的狀態(tài)信息對(duì)象
說(shuō)明:
可通過(guò)DirectoryEntry或FileEntry對(duì)象的getMetaData方法獲取
屬性:
modificationTime: (Date
類型
)文件或目錄的最后修改時(shí)間
size: (Number
類型
)文件的大小
若獲取的是目錄對(duì)象的屬性則值為0。
directoryCount: (Number
類型
)包含的子目錄數(shù)
若自身是文件則其值為0。
fileCount: (Number
類型
)目錄的文件數(shù)
若自身是文件則其值為0。
文件或目錄操作事件對(duì)象
說(shuō)明:
所有文件或目錄操作事件回調(diào)函數(shù)中都創(chuàng)建該對(duì)象的實(shí)例。
該對(duì)象從DOMEvent繼承而來(lái),可通過(guò)該其target屬性獲取事件觸發(fā)的文件或目錄操作對(duì)象。
屬性:
target:
在不同的回調(diào)中指向的對(duì)象不同,可指向的對(duì)象包括:FileEntry、DirectoryEntry、FileReader、FileWriter。
文件路徑類型
說(shuō)明:
在文件系統(tǒng)中的文件路徑需轉(zhuǎn)換成URL格式,已方便runtime快速加載。
相對(duì)路徑URL
說(shuō)明:
只能在擴(kuò)展API中使用,相對(duì)于基座提供的特定目錄,以“_”開頭。
常量:
"_www": (DOMString
類型
)應(yīng)用資源目錄
保存應(yīng)用的所有html、css、js等資源文件,與文件系統(tǒng)中根目錄PRIVATE_WWW一致,后面加相對(duì)路徑如“_www/res/icon.png”。
注意:應(yīng)用資源目錄是只讀目錄,只能讀取次目錄下的文件,不能修改或新建。
"_doc": (DOMString
類型
)應(yīng)用私有文檔目錄
用于保存應(yīng)用運(yùn)行期業(yè)務(wù)邏輯數(shù)據(jù),與文件系統(tǒng)中根目錄PRIVATE_DOCUMENTS,如“_doc/userdata.xml”。
"_documents": (DOMString
類型
)程序公用文檔目錄
用于保存程序中各應(yīng)用間可共享文件的目錄,與文件系統(tǒng)中根目錄PUBLIC_DOCUMENTS,如“_document/share.doc”。
"_downloads": (DOMString
類型
)程序公用下載目錄
用于保存程序下載文件的目錄,與文件系統(tǒng)中根目錄PUBLIC_DOWNLOADS,如“_download/mydoc.doc”。
本地路徑URL
說(shuō)明:
可在html頁(yè)面中直接訪問(wèn)本地資源,以“file:///”開頭,后面跟隨系統(tǒng)的絕對(duì)路徑。
如示例:“file:///D:/res/hello.html”。
網(wǎng)絡(luò)路徑URL
說(shuō)明:
可在html頁(yè)面中以網(wǎng)絡(luò)資源模式訪問(wèn)本地資源,以“http://”開頭,后面跟隨相對(duì)路徑。
如示例:“http://localhost:13131/_www/res/icon.png”,其中“_www”字段可支持類型與相對(duì)路徑URL一致。
文件事件回調(diào)
void onEvent( event ) {
// Event code.
}
說(shuō)明:
文件或目錄操作回調(diào)事件。
通常在FileReader和FileWriter對(duì)象的事件函數(shù)中觸發(fā)。
參數(shù):
event:
返回值:
void
: 無(wú)
請(qǐng)求文件系統(tǒng)成功的回調(diào)函數(shù)
void onSuccess( fs ) {
// File System operate code.
}
參數(shù):
fs:
返回值:
void
: 無(wú)
通過(guò)URL參數(shù)獲取目錄或文件對(duì)象成功的回調(diào)函數(shù)
void onSuccess( entry ) {
// File or Direcory entry operate code.
}
參數(shù):
entry:
返回值:
void
: 無(wú)
獲取文件或目錄狀態(tài)信息成功的回調(diào)函數(shù)
void onSuccess( metadata ) {
// Metadata code.
}
參數(shù):
metadata:
返回值:
void
: 無(wú)
操作文件或目錄對(duì)象成功的回調(diào)函數(shù)
void onSuccess( entry ) {
// Entry code.
}
參數(shù):
entry:
返回值:
void
: 無(wú)
操作文件或目錄對(duì)象數(shù)組成功的回調(diào)函數(shù)
void onSuccess( entrys ) {
// Entrys code.
}
參數(shù):
entrys:
返回值:
void
: 無(wú)
寫文件操作成功的回調(diào)函數(shù)
void onSuccess( writer ) {
// FileWriter code.
}
參數(shù):
writer:
返回值:
void
: 無(wú)
文件操作成功的回調(diào)函數(shù)
void onSuccess( file ) {
// file code.
}
參數(shù):
file:
(
File
)
必選文件數(shù)據(jù)對(duì)象的引用
返回值:
void
: 無(wú)
文件操作失敗的回調(diào)函數(shù)
void onError( error ) {
// Error code.
}
參數(shù):
error:
(
DOMException
)
必選文件操作失敗的信息
返回值:
void
: 無(wú)
總結(jié)
以上是生活随笔為你收集整理的在线html5 api中文版,HTML5+ API Reference的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 天津到潍坊的长途汽车在滨州哪里停?
- 下一篇: 554拖拉机方向盘会转没方向是怎么回事儿