PhoneGapAPI帮助文档翻译整理8File 文件.docx
- 文档编号:8161575
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:30
- 大小:27KB
PhoneGapAPI帮助文档翻译整理8File 文件.docx
《PhoneGapAPI帮助文档翻译整理8File 文件.docx》由会员分享,可在线阅读,更多相关《PhoneGapAPI帮助文档翻译整理8File 文件.docx(30页珍藏版)》请在冰豆网上搜索。
PhoneGapAPI帮助文档翻译整理8File文件
File (文件)
用于读取、写入和浏览文件系统层次结构的API。
对象
∙DirectoryEntry
∙DirectoryReader
∙File
∙FileEntry
∙FileError
∙FileReader
∙FileSystem
∙FileTransfer
∙FileTransferError
∙FileUploadOptions
∙FileUploadResult
∙FileWriter
∙Flags
∙LocalFileSystem
∙Metadata
DirectoryEntry
这个对象代表了一个文件系统内的一个目录.它被定义在W3C目录和系统规范内。
属性
∙isFile:
总为false.boolean
∙isDirectory:
总为真.(boolean)
∙name:
DirectoryEntry的名字,不包含前置目录
∙fullPath:
从根到此目录条目完整的绝对路径
注意:
下面的属性在W3C规范内虽然定义了,但PhoneGap并不支持
∙filesystem:
DirectoryEntr所在的文件系统
下列方法可以作为DirectoryEntry对象的方法被调用
∙getMetadata:
获得目录的元数据
∙moveTo:
移动一个目录到文件系统中不同的位置
∙copyTo:
拷贝一个目录到文件系统中不同的位置
∙toURI:
返回一个可以定位目录的URI
∙remove:
删除一个目录.这个目录必须是空的.
∙getParent:
查找父级目录.
∙createReader:
建立一个可以从目录中读取条目的新DirectoryReader对象
∙getDirectory:
建立或者寻找一个目录
∙getFile:
建立或者寻找一个文件.
∙removeRecusively:
删除一个目录以及他内部的所有内容
支持的平台
∙Android
∙BlackBerryWebWorks(OS5.0andhigher)
∙iOS
getMetadata
查找目录的元数据
参数
∙successCallback-成功后调用此方法,参数为Metadata对象
∙errorCallback-当获得元数据发生错误的时候调用此函数.其参数为一个FileError对象
简单的例子
functionsuccess(metadata){
console.log("LastModified:
"+metadata.modificationTime);
}
functionfail(error){
alert(error.code);
}
//Requestthemetadataobjectforthisentry
//对此条目请求其元数据对象
entry.getMetadata(success,fail);
moveTo
移动一个目录到文件系统中不同的位置。
在做以下尝试的时候会发生错误:
∙移动目录到其自身内,或者移动到其任意深度的子目录中
如果和当前不同的名字没有提供,那么同级移动会导致错误
∙目录所要移动到的目标路径已经有相同名的文件
∙目录所要移动到的目标路径已经有同名并且不为空的目录
另外,如果把一个目录移动到另外的一个已经存在的空目录上面应该尝试去删除或者替换已存在的目录
参数
∙parent-父级目录(DirectoryEntry对象)
∙newName-目录的新名字.如果没有指定,则为当前名字
∙successCallback-移动成功后调用的回到函数,参数为DirectoryEntry对象
∙errorCallback-移动目录发生错误的时候调用此方法.参数为一个FileError对象
简单的例子
functionsuccess(entry){
console.log("NewPath:
"+entry.fullPath);
}
functionfail(error){
alert(error.code);
}
functionmoveDir(entry){
varparent=document.getElementById('parent').value,
newName=document.getElementById('newName').value,
parentEntry=newDirectoryEntry({fullPath:
parent});
//movethedirectorytoanewdirectoryandrenameit
//移动目录到一个新目录并且改名
entry.moveTo(parentEntry,newName,success,fail);
}
copyTo
∙拷贝一个目录到文件系统不同的路径。
在做以下尝试的时候会发生错误:
∙拷贝一个目录到其任意深度的子目录中
∙如果和当前不同的名字没有提供,同级拷贝会导致错误
∙目录复制总是递归的-换而言之,他们会拷贝目录中的所有内容
参数
∙parent-要拷贝目录的父级目录
∙newName-目录的新名字.如果没指定则缺省为当前名字
∙successCallback-成功后调用的回调函数,参数为DirectoryEntry对象
∙errorCallback-当拷贝相关目录发生错误的时候调用此函数.其参数为FileError对象
简单的例子
functionwin(entry){
console.log("NewPath:
"+entry.fullPath);
}
functionfail(error){
alert(error.code);
}
functioncopyDir(entry){
varparent=document.getElementById('parent').value,
newName=document.getElementById('newName').value,
parentEntry=newDirectoryEntry({fullPath:
parent});
//copythedirectorytoanewdirectoryandrenameit
//拷贝目录到新的目录并且重新命名
entry.copyTo(parentEntry,newName,success,fail);
}
移除
删除一个目录。
当有以下行为的时候会发生错误:
∙删除一个非空目录
∙删除文件系统的根目录
参数
∙successCallback-目录删除后调用此回调函数.无参数
∙errorCallback-当试图删除目录发生错误的时候调用此函数.参数为FileError对象
简单的例子
functionsuccess(entry){
console.log("Removalsucceeded");
}
functionfail(error){
alert('Errorremovingdirectory:
'+error.code);
}
//removethisdirectory
//移除这个目录
entry.remove(success,fail);
getParent
查找包含此目录的父级目录
参数
∙successCallback-成功后调用此回调函数,参数为目录的父级目录的DirectoryEntry对象
∙errorCallback-当试图获得父级目录的DirectoryEntry对象时,如果发生错误则调用此回调函数.参数为FileError对象
简单的例子
functionsuccess(parent){
console.log("ParentName:
"+parent.name);
}
functionfail(error){
alert('Failedtogetparentdirectory:
'+error.code);
}
//GettheparentDirectoryEntry
//获得父级目录的DirectoryEntry对象
entry.getParent(success,fail);
createReader
建立一个新的DirectoryReader对象用来读取目录的条目
简单的例子:
//createadirectoryreader
//建立一个读取目录用的DirectoryReader对象
vardirectoryReader=entry.createReader();
getDirectory
建立或查询一个已经存在的目录,在试图做以下操作的时候会发生错误
试图建立一个不存在父级目录的目录时
参数:
∙path-用来查找或建立目录的路径.可以是一个绝对路径或者一个相对路径。
∙options-用于指定是否根据目录不存在而建立此目录的选项
∙successCallback-成功后调用的回调函数,参数为DirectoryEntry对象
∙errorCallback-属兔查找或者建立目录的时候如果发生错误则调用此函数.参数为FileError参数
简单的例子:
functionsuccess(parent){
console.log("ParentName:
"+parent.name);
}
functionfail(error){
alert("Unabletocreatenewdirectory:
"+error.code);
}
//Retrieveanexistingdirectory,orcreateitifitdoesnotalreadyexist
//查找一个已存在的目录,或者如果目录不存在的话则建立此目录
entry.getDirectory("newDir",{create:
true,exclusive:
false},success,fail);
getFile
建立或者查找一个文件。
当试图做以下操作的时候会发生错误
∙试图建立一个没有直接父级目录的文件
参数:
path-查找或建立文件的路径。
可以是绝对路径,或者一个相对目录
options-用于指定当文件不存在的时候是否建立此文件的选项
successCallback-当成功的时候调用此回调函数,参数为FileEntry对象
errorCallback-当试图建立或者查找文件的时候,如果出现错误,则调用此函数。
参数为FileError对象.
简单的例子:
functionsuccess(parent){
console.log("ParentName:
"+parent.name);
}
functionfail(error){
alert("Failedtoretrievefile:
"+error.code);
}
//Retrieveanexistingfile,orcreateitifitdoesnotexist
//查找一个存在的文件,如果不存在则建立此文件
entry.getFile("newFile.txt",{create:
true,exclusive:
false},success,fail);
removeRecursively
删除一个目录及其内容.如果接收到一个错误消息(如尝试删除一个目录的内容,而内容包含一个不能被移除的文件),可这个时候一部分文件就会被删除掉。
。
。
如果试图进行以下动作则会发生错误
删除文件系统的根目录
参数:
successCallback-当目录被删除掉后回调此函数。
无参数
errorCallback-当试图删除目录的时候,如果发生错误,则调用此函数.参数为FileError对象
简单的例子
functionsuccess(parent){
console.log("RemoveRecursivelySucceeded");
}
functionfail(error){
alert("Failedtoremovedirectoryorit'scontents:
"+error.code);
}
//removethedirectoryandallit'scontents
//删除此目录及其内容
entry.removeRecursively(success,fail);
DirectoryReader
目录中文件及子目录的列表对象,在目录及系统规范中定义
方法
readEntries:
读取目录中的条目
支持的平台
∙Android
∙BlackBerryWebWorks(OS5.0andhigher)
∙iOS
readEntries
读取目录中的条目
参数
∙successCallback-成功后调用的回调函数,其参数为包含FileEntry以及DirectoryEntry对象的数组
∙errorCallback-当发生错误的时候调用此函数,参数为FileError对象
简单的例子
functionsuccess(entries){
vari;
for(i=0;i console.log(entries[i].name); } } functionfail(error){ alert("Failedtolistdirectorycontents: "+error.code); } //Getadirectoryreader //获得DirectoryReader对象 vardirectoryReader=dirEntry.createReader(); //Getalistofalltheentriesinthedirectory //获得目录中所有的条目列表 directoryReader.readEntries(success,fail); File 此个对象表示一个文件系统 属性 name: 文件系统名字 root: 文件系统根目录 详情 FileSystem对象表示了文件系统的信息.文件系统的名字在所显露出来的文件系统列表中是唯一的。 root属性包含了一个表示文件系统根目录的DirectoryEntry对象。 所支持的平台 ∙Android ∙BlackBerryWebWorks(OS5.0andhigher) ∙iOS 文件系统简单的例子 functiononSuccess(fileSystem){ console.log(fileSystem.name); console.log(fileSystem.root.name); } //requestthepersistentfilesystem //请求这个持久化的文件系统 window.requestFileSystem(LocalFileSystem.PERSISTENT,0,onSuccess,null); 完整的例子 DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN""http: //www.w3.org/TR/html4/strict.dtd">
functiononLoad(){
document.addEventListener("deviceready",onDeviceReady,false);
}
functiononDeviceReady(){
window.requestFileSystem(LocalFileSystem.PERSISTENT,0,onFileSystemSuccess,fail);
}
functiononFileSystemSuccess(fileSystem){
console.log(fileSystem.name);
console.log(fileSystem.root.name);
}
functionfail(evt){
console.log(evt.target.error.code);
}
Example
FileSystem