¿Usando el método HTML5 FileWriter truncate ()?

Estoy experimentando con la API de archivos HTML5 y necesito usar un método que no conozco lo suficiente (simplemente porque apenas está documentado en ningún lado).

Estoy hablando del método truncate () de FileWriter, y sé que hace lo que tengo que hacer. Básicamente, en lugar de agregar texto a algunos datos de archivo o usar seek () para sobrescribir una determinada porción, quiero sobrescribir todos los datos con algo más (por ejemplo, de "somedata" a "").

Aquí hay un fragmento de la configuración de FileWriter de HTML5Rocks, con truncate () agregado.

function onInitFs(fs) {

  fs.root.getFile('log.txt', {create: false}, function(fileEntry) {

    // Create a FileWriter object for our FileEntry (log.txt).
    fileEntry.createWriter(function(fileWriter) {

      fileWriter.seek(fileWriter.length); // Start write position at EOF.
      fileWriter.truncate(1);

      // Create a new Blob and write it to log.txt.
      var bb = new BlobBuilder(); // Note: window.WebKitBlobBuilder in Chrome 12.
      bb.append('Hello World');
      fileWriter.write(bb.getBlob('text/plain'));

    }, errorHandler);

  }, errorHandler);

}

window.requestFileSystem(window.PERSISTENT, 1024*1024, onInitFs, errorHandler);

Cuando llega a llamar a writer.truncate (), llamar a writer.write () arroja un error de excepción de archivo. Creo que esto se debe a que readyState está configurado para ESCRIBIR. Desafortunadamente, no sé cómo evitar eso.

Ya he intentado mirar a través de la HTML5Rocks sección sobre esto, pero no me dice nada sobre un método truncate () (aunque sé que existe de lo que me dice la consola Webkit JS).

En pocas palabras, ¿cómo puedo usar el método truncate () correctamente sin obtener un error?

Respuestas a la pregunta(2)

Su respuesta a la pregunta