2016-05-23 74 views
0

如何确保打开的文件在使用后关闭?如何确保在Actionscript 3中打开后文件已关闭?

我使用下面的代码来打开和写入文件:

 var mFile:File = new File(); 
     var actvityDirectoryXMLFile:File = mFile.resolvePath (filePath); 
     var stream:FileStream = new FileStream(); 

     stream.addEventListener (Event.COMPLETE , onFileWriteComplete); 
     stream.open (actvityDirectoryXMLFile , FileMode.WRITE); 
     stream.writeUTFBytes (xml.toXMLString()); 
     stream.close(); 
     stream.openAsync (actvityDirectoryXMLFile , FileMode.READ); 
     mFile = null; 
     actvityDirectoryXMLFile = null; 

我的问题是,如果我救了我的教训第一次则是完全节省了教训,但修改之后,如果我保存同样的教训再次然后我收到以下错误:

“错误:错误#3013:文件或目录在使用中flash.filesystem。”

我不知道为什么它显示是这样的我已经写了stream.close();船尾呃文件写入。

因此,任何人都有一个想法,为什么它显示这样或如何解决这个问题。

+2

您打开,然后关闭T母鸡再次打开,最后一次操作是重要的。 – BotMaster

+1

请[编辑]你的问题,并添加所有相关的代码。 'onFileWriteComplete'看起来像什么?你确切的线路是否会出现错误? [使用调试器来遍历代码](https://helpx.adobe.com/animate/using/debugging-actionscript-3-0.html)。 – null

回答

0

只要你写你使用下面的代码

stream.openAsync (actvityDirectoryXMLFile , FileMode.READ); 

因此将其删除打开的文件的文件,它是你的文件opwn现在或该行类似以下后使用stream.close();的原因代码

var mFile:File = new File(); 
    var actvityDirectoryXMLFile:File = mFile.resolvePath (filePath); 
    var stream:FileStream = new FileStream(); 

    stream.addEventListener (Event.COMPLETE , onFileWriteComplete); 
    stream.open (actvityDirectoryXMLFile , FileMode.WRITE); 
    stream.writeUTFBytes (xml.toXMLString()); 
    stream.close(); 
    //stream.openAsync (actvityDirectoryXMLFile , FileMode.READ); 
    mFile = null; 
    actvityDirectoryXMLFile = null; 

或下面的代码

var mFile:File = new File(); 
    var actvityDirectoryXMLFile:File = mFile.resolvePath (filePath); 
    var stream:FileStream = new FileStream(); 

    stream.addEventListener (Event.COMPLETE , onFileWriteComplete); 
    stream.open (actvityDirectoryXMLFile , FileMode.WRITE); 
    stream.writeUTFBytes (xml.toXMLString()); 
    stream.close(); 
    stream.openAsync (actvityDirectoryXMLFile , FileMode.READ); 
    stream.close(); 
    mFile = null; 
    actvityDirectoryXMLFile = null; 
相关问题