3

下面是函數:如何覆蓋文件中文件系統API

this.saveObj = function(o, finished) 
{ 
    root.getDirectory("object", {create: true}, function(directoryEntry) 
    { 
     directoryEntry.getFile("object.json", {create: true}, function(fileEntry) 
     { 
      fileEntry.createWriter(function(fileWriter) 
      { 

       fileWriter.onwriteend = function(e) 
       { 
        finished(fileEntry); 
       }; 

       fileWriter.onerror = errorHandler; 
       var blob = new Blob([JSON.stringify(o)], {type: "json"}); 

       fileWriter.write(blob); 
      }, errorHandler); 
     }, errorHandler); 
    }, errorHandler); 
}; 

現在,當我保存對象的一切工作正常。讓我說我保存{"id":1}我的文件內容將是{"id":1}。現在我用o = {};編輯對象並再次保存,我的文件內容突然變爲{} "id":1 }

它只是覆蓋舊的內容,但不會清除它。在寫入文件之前我是否必須刪除該文件,或者是否有我丟失的內容?

回答

1

就我所知,寫入方法會將提供的內容寫入某個位置。對我而言,這意味着除非您覆蓋零件,否則現有內容不會被觸及。所以我會說是,刪除文件並保存一個新文件。

source