gpt4 book ai didi

android - Phonegap Android 创建文件如果不存在并写入它

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:30 25 4
gpt4 key购买 nike

早上好

我正在使用以下内容在本地文件系统上创建一个文件。如果文件不存在,这将创建一个文件。

function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);

}

function gotFS(fileSystem) {
fileSystem.root.getFile("test.txt", {create: true}, gotFileEntry, fail);
}

function gotFileEntry(fileEntry) {
fileEntry.createWriter(gotFileWriter, fail);
}

function gotFileWriter(writer) {
writer.onwrite = function(evt) {
alert("write success");
};
writer.write("We are testing")

}

function fail(error) {
if(error.code == 1){
alert('not found');
}
alert(error.code);
}

但是,只有当文件不存在时我才需要写入该文件。我尝试使用

function gotFS(fileSystem) {
fileSystem.root.getFile("test.txt", null, gotFileEntry, fail);
}

function gotFS2(fileSystem) {
alert('trying again');
fileSystem.root.getFile("test.txt", {create:true}, gotFileEntry, fail);
}

function fail(error) {

if(error.code == 1){
alert('not found');
gotFS2(fileSystem);
}
alert(error.code);
}

然后如果 error.code == 1 调用 gotFS2但这什么也没做——当文件不存在时它甚至没有创建文件。

似乎没有调用 gotFS2,但函数 fail(error) 中的 alert('not found'); 有效。

做我想做的事情最简单的方法是什么?

最佳答案

看来问题出在你没有保存 fileSystem 变量(它在“gotFS”的本地范围内),所以我的建议是:

var savedFS;

function gotFS(fileSystem) {
savedFS = fileSystem;
fileSystem.root.getFile("test.txt", null, gotFileEntry, fail);
}

function gotFS2(fileSystem) {
alert('trying again');
fileSystem.root.getFile("test.txt", { create: true }, gotFileEntry, function() {});
}

function fail(error) {
if (error.code == 1) {
alert('not found');
gotFS2(savedFS);
}
alert(error.code);
}

关于android - Phonegap Android 创建文件如果不存在并写入它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22574645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com