我使用以下函数写入文本文件,并且可以正常编写第一个文件。
function writeFile(data)
{
try
{
writeTextFile = function(writer)
{
// adding handlers
writer.seek(0);
writer.onwritestart = onFileEvent;
writer.onprogress = onFileEvent;
writer.onwrite = onFileWrite;
writer.onabort = onFileEvent;
writer.onerror = onFileError;
writer.onwriteend = onFileEvent;
writer.write(data);
//writer.write(encodeString(data));
};
createTextWriter = function(fileEntry)
{
fileEntry.createWriter(writeTextFile, onFileSystemError);
};
mRoot.getFile(APPLICATION_FILE_PREFIX+APPLICATION_FILE_NAME, {create: true}, createTextWriter, onFileSystemError);
}
catch(ex)
{
console.log("Error in Write : \n " + ex);
alert(ex);
}
}
但是当我再次调用该函数来编写另一个文件时,先前写入的文件被覆盖了。
我修复了这个问题,通过复制上面的功能&已重命名为function writeFile2(data)
,createTextWriter
已重命名为createTextWriter2
,writeTextFile
已更改为writeTextFile2
所以我又有了同样的功能。这是不实际的,好像我需要写50个文件,我需要50个函数。
我认为这是一些与javascript相关的事情。任何人都可以帮助我。 [writeTextFile = function(writer)是什么意思?可能是如果作家想要清楚它是否有以前的作家]
答案 0 :(得分:1)
而不是writeTextFile = function(writer)
使用var writeTextFile = function(writer)
这将使您的writeTextFile成为本地,并在退出函数时重置