2013-07-31 32 views
4

你能告诉我如何删除phonegap中的文本文件的争用? 我有文本文件上有一些文字。我想删除该文本之前插入新的文字。这是否可能在phonegap? 我能够读取,写入,删除文件。但是如何删除文件的争用?如何删除phonegap中的文本文件的内容?

回答

0

您可以使用truncate方法将所有内容删除到一定数量,或者如果您摆脱了所有可以随时删除文件并创建新的空白版本的所有内容。

function win(writer) { 
    writer.truncate(0); 
}; 

var fail = function(evt) { 
    console.log(error.code); 
}; 

file.createWriter(win, fail); 
+0

处理不工作的先生.. !! –

4

您可以使用截断。

如果你打算后来写,这会稍微复杂一些。你不能只是

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

假设你有一个文件条目(文件存在),然后创建FileWriter的。

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

既然你有一个文件编写器。调用截断(0)并在写入结束时清除写入结束并写入你想要的内容。

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); 
} 
相关问题