Как перезаписать файл в API FileSystem

Вот функция:

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 ответ

Насколько я понимаю, метод write напишет предоставленный контент в позицию. Для меня это означает, что существующий контент нетронутый, если вы не переписываете части. Поэтому я собираюсь сказать "да", удалить файл и сохранить новый.

источник

licensed under cc by-sa 3.0 with attribution.