2016-05-23 2 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();の書いたファイル書き込み。

だから誰でも、なぜこのように表示されているのか、この問題を解決する方法を知っています。できるだけ早くあなたはそれが今、あなたのファイルがopwnされる理由である、それを削除するか、次のようにその行の後stream.close();を使用し、次のコード

stream.openAsync (actvityDirectoryXMLFile , FileMode.READ); 

を使用してファイルを開いているファイルを書き込むよう

+2

鶏が再び開くと、最後の操作がカウントされます。 – BotMaster

+1

あなたの質問を編集し、関連するコードをすべて追加してください。 'onFileWriteComplete'はどのように見えますか?どのような正確な行にエラーが表示されますか? [デバッガを使用してコードをステップ実行する](https://helpx.adobe.com/animate/using/debugging-actionscript-3-0.html)。 – null

答えて

0

コードあなたが近いトンを開く

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; 
関連する問題