在phonegap中有一种方法可以在应用程序启动时创建文件的长度并创建编写器,以便您可以将writer.seek()添加到该位置并附加到该文件。它当前在应用程序运行时附加,但每次应用程序重新启动时都会写入文件。下面是我作家的代码。作者是全球创造的。
我正在使用在Android 2.3.3上运行的phonegap 1.2.0
var writer = new FileWriter("mnt/sdcard/mydocs/text.txt");
function appendFile(text) {
try{
writer.onwrite = appendSuccess;
writer.onerror = appendFail;
writer.seek(writer.length);
writer.write(text);
}catch(e){
alert(e);
}
}
function appendSuccess() {
alert("Write successful");
}
function appendFail(evt) {
alert("Failed to write to file");
}
}
答案 0 :(得分:2)
是的,这是一个错误。在PhoneGap的最新版本中,它是固定的。但是,我们不再支持:
new FileWriter(pathToFile);
现在你需要这样做:
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(FS) {
FS.root.getFile("empty.txt", {"create":true, "exclusive":false},
function(fileEntry) {
fileEntry.createWriter(
function(writer) {
console.log("Length = " + writer.length);
console.log("Position = " + writer.position);
writer.seek(writer.length);
console.log("Position = " + writer.position);
}, fail);
}, fail);
}, fail);
对不正确的第一个回答感到抱歉。显然,您无法将FileEntry传递给FileWriter构造函数,您需要传递File,这是通过调用FileEntry.file()方法获得的。
喜欢这个令人费解的W3C规范。