我正在尝试使用
HTML5 File API,我需要使用一个我不够了解的方法(只因为它几乎不记录在内).
我在谈论FileWriter truncate()方法,我知道这是我需要做的.基本上,我不想将文本附加到某些文件数据或使用seek()来覆盖某个部分,而是要用其他的东西覆盖所有的数据(例如从“somedata”到“”).
以下是来自HTML5Rocks的FileWriter设置的一段代码,其中添加了truncate().
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);
当调用writer.truncate()时,调用writer.write()会引发File Exception错误.我相信这是因为readyState设置为WRITING.不幸的是,我不知道如何解决.
我已经试过看过这个HTML5Rocks section,但它并没有告诉我关于truncate()方法的任何事情(尽管我知道它存在于Webkit JS控制台告诉我什么).
长篇小说,我如何正确使用truncate()方法,而不会出现错误?