你能告诉我如何删除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); }