以下の関数を使用してテキストファイルに書き込みますが、1番目のファイルの書き込みは正常に機能します。
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)
andcreateTextWriter
に変更することで、この問題を修正しました。createTextWriter2
writeTextFile
writeTextFile2
だから私はまた同じような機能を持っています。50個のファイルを書く必要があるかのように実用的ではありません。50個の関数が必要です。
これはJavaScriptに関連するものだと思います。誰かが私を助けてくれませんか。[writeTextFile = function(writer)はどういう意味ですか?ライターが前のライターを持っているかどうかをクリアしたい場合かもしれません]