当前位置 : 主页 > 手机开发 > cordova >

cordova – 如何删除phonegap中的文本文件内容?

来源:互联网 收集:自由互联 发布时间:2021-06-10
你能告诉我如何删除phonegap中的文本文件的争议吗? 我有文本文件,上面有一些文字.我想在插入新文本之前删除该文本.这可能在phonegap中吗? 我能够读取,写入,删除文件.但是如何删除文
你能告诉我如何删除phonegap中的文本文件的争议吗?
我有文本文件,上面有一些文字.我想在插入新文本之前删除该文本.这可能在phonegap中吗?
我能够读取,写入,删除文件.但是如何删除文件的争议? 你可以使用Truncate.

如果你之后要写,那会更复杂一些.你不能只是

writer.truncate(0);
writer.write("Leo was here");

如果你这样做似乎既不起作用,但每个人都单独工作.因此,为了使其工作,您必须等到截断完成后才能执行写操作.在截断的onwriteend中添加写入.注意清除或更改onwwriteend很重要,否则你将获得无限循环.

因此,首先获取文件系统并使用文件系统来获取文件条目

function clearFile(fileName){
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){
                         fileSystem.root.getFile(fileName, { create: false }, clearfileExists, fileDoesNotExist);
                         }, getFSFail); 
}

假设您有一个文件条目(文件存在),然后创建文件编写器.

function clearfileExists(fileEntry){
    console.log("File " + fileEntry.fullPath + " exists!");
    fileEntry.createWriter(truncateFile, fileDoesNotExist);
}

现在你有了一个文件编写器.调用truncate(0)并在onwriteend中清除onwrite结束并写下你想要的内容.

function truncateFile(writer){
    console.log("truncate");
    writer.onwriteend= function(evt) {
        LOG("write");
        writer.seek(0);
        writer.onwriteend = function(evt){
            console.log("contents of file now 'Leo was Here'");
        }
        writer.write("Leo was Here");
    }
    writer.truncate(0);
}

并且为了完整性,这里是错误案例的处理

function fileDoesNotExist(){
    console.log("file does not exist");
}
function getFSFail(evt) {
    console.log(evt.target.error.code);
}
网友评论