移动开发 phonegap 互动版

FileEntry

  该对象代表文件系统中的一个文件。它包含以下几个属性和方法:

属性

isFile:返回值总是true。

isDirectory:返回值总是false。

name:FileEntry的名称,不包含前置路径。

fullPath:从根目录到当前FileEntry的完整绝对路径。

方法

getMetadata: 获得文件的元数据。

moveTo:移动一个文件到文件系统中不同的位置。

copyTo:拷贝一个文件到文件系统中不同的位置。

toURI:返回一个可以定位文件的URI。

remove:删除一个文件。

getParent:查找父级目录。

createWriter:创建一个可以写入文件的FileWriter对象。

file:创建一个包含文件属性的File对象。

  在上面的函数中,其中getMetadataremovegetparentcreaterWriterfile用法基本相同,都是含有两个回调函数的参数,只是回调函数中的参数类型不相同。

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);

copyTomoveTo的用法相同。都含有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);