[問題] Error #3013: File or directory is in use 的錯誤問題

看板Flash作者 (呦厚厚)時間15年前 (2010/09/01 15:38), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
我現在在寫一個功能 就把舊的 XML讀入 在 XML中加一筆資料 資後再將 這個 XML 以同樣的檔名輸出 將原本的XML覆蓋掉 可是會出現 Error #3013: File or directory is in use.的錯誤 我認為原因是出在 那個原本的 XML 還在被使用中 所以無法覆蓋 我試過 如果我存檔時用不同的檔名 就ok了 不過這不是我要的效果 我希望的是直接覆蓋 我把 URLLoader 給 close, 移除事件, null 了 卻還是無法解決問題 請問這要怎麼解決??? var ldr:URLLoader; public function test():void { ldr= new URLLoader(); ldr.load( new URLRequest( 'test.xml' ) ); ldr.addEventListener( Event.COMPLETE , LoadComplete ); } private function LoadComplete( evt:Event ):void { var _xml:XML=new XML( ldr.data ); ldr.close(); ldr.removeEventListener( Event.COMPLETE , LoadCompleteEvo ); ldr=null; _xml.name='test'; var file:File = new File('app:/test.xml'); file = new File(file.nativePath); var fs:FileStream = new FileStream(); fs.open(file, FileMode.WRITE); // 這行覆蓋舊的XML 出錯 fs.writeUTFBytes(_xml); fs.close(); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.109.115.30

09/01 21:05, , 1F
_xml仍然持有該檔案的存取,所以判定還在開啟中吧?
09/01 21:05, 1F
文章代碼(AID): #1CVWBqqK (Flash)
文章代碼(AID): #1CVWBqqK (Flash)