FileEntry
该对象代表文件系统中的一个文件。它包含以下几个属性和方法:
属性
isFile:返回值总是true。
isDirectory:返回值总是false。
name:FileEntry的名称,不包含前置路径。
fullPath:从根目录到当前FileEntry的完整绝对路径。
方法
getMetadata: 获得文件的元数据。
moveTo:移动一个文件到文件系统中不同的位置。
copyTo:拷贝一个文件到文件系统中不同的位置。
toURI:返回一个可以定位文件的URI。
remove:删除一个文件。
getParent:查找父级目录。
createWriter:创建一个可以写入文件的FileWriter对象。
file:创建一个包含文件属性的File对象。
在上面的函数中,其中getMetadata、 remove、 getparent、 createrWriter、 file用法基本相同,都是含有两个回调函数的参数,只是回调函数中的参数类型不相同。
function success(metadata) { // 参数类型为metadata类型
console.log("Last Modified:" + metadata.modificationTime);
}
function fail(error) {
alert(error.code);
}
// 请求这个条目的元数据对象
entry.getMetadata(success, fail);
function success() { //无参数
console.log("Removal succeeded");
}
function fail(error) {
alert('Error removing file: ' + error.code);
}
// 移除该文件
entry.remove(success, fail);
function success(parent) { // 参数为当前文件的父级DirectoryEntry对象
console.log("Parent Name: " + parent.name);
}
function fail(error) {
alert(error.code);
}
// 获得父级DirectoryEntry对象
entry.getParent(success, fail);
function success(writer) { //参数为fileWriter对象
console.log("Some text to the file");
}
function fail(error) {
alert(error.code);
}
// 创建一个用于写文件的FileWriter对象
entry.createWriter(success, fail);
function success(file) { //参数为file对象
console.log("File size: " + file.size);
}
function fail(error) {
alert("Unable to retrieve file properties: " + error.code);
}
// 获得此文件的属性
entry.file(success, fail);
copyTo与moveTo的用法相同。都含有4个参数:
parent:将文件对象拷贝或移动到的父级目录。
newName:文件的新名称。如果没有指定,默认为当前名字。
successCallback:拷贝或移动成功后调用的回调函数,参数为移动后新文件的FileEntry对象。
errorCallback:试图拷贝或移动文件发生错误时调用的回调函数,参数为一个FileError对象。
function win(entry) {
console.log("New Path: " + entry.fullPath);
}
function fail(error) {
alert(error.code);
}
function copyFile(entry) {
var parent = document.getElementById('parent').value,
parentEntry = new DirectoryEntry({fullPath: parent});
// 拷贝文件到一个新的目录,并将其重命名
entry.copyTo(parentEntry, "file.copy", success, fail);
}
toURI用法比较简单,如下代码:
// 请求此条目的URI
var uri = entry.toURI();
console.log(uri);