文件编写者问题phonegap

时间:2012-11-08 10:45:12

标签: javascript cordova

我使用以下函数写入文本文件,并且可以正常编写第一个文件。

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已重命名为createTextWriter2writeTextFile已更改为writeTextFile2

所以我又有了同样的功能。这是不实际的,好像我需要写50个文件,我需要50个函数。

我认为这是一些与javascript相关的事情。任何人都可以帮助我。 [writeTextFile = function(writer)是什么意思?可能是如果作家想要清楚它是否有以前的作家]

1 个答案:

答案 0 :(得分:1)

而不是writeTextFile = function(writer)使用var writeTextFile = function(writer)

这将使您的writeTextFile成为本地,并在退出函数时重置