2013-06-21 52 views
2

有沒有對谷歌搜索,並在這裏 an error 3013 thrown when writing a file Adobe AIR ,但還沒有找到一個解決辦法Adob​​e空氣的FileStream錯誤#3013:文件或目錄在使用

使用FILESTREAM類來打開,然後寫一個文件ApplicationStorage目錄

這適用於Mac-OSX。但是,當在Windows中,我得到了以下錯誤

Error: Error #3013: File or directory is in use. 
    at flash.filesystem::FileStream/open() 

我檢查的實際文件和封閉目錄的權限都和這似乎並不成爲問題。

任何人都可以提出解決方案或疑難解答步驟?

回答

0

一切都指向安全權限問題,但雙重檢查和權限都很好

經過大量谷歌搜索和頭部劃傷過這個帖子裏面解決了這個問題 http://www.davidmillington.net/news/453/62/ActionScript-3---Error-%233013%3A-File-or-directory-is-in-use./

需要一個輕微的延遲使用來之前FileStream類打開,寫入,關閉。 再次,只有Windows!

+1

「增加一個小延遲」來解決異步問題從來就不是一個好主意。它可以簡單地使問題出現在不同的時間。 AIR允許同步(通過'FileStream.open')和異步(通過'FileStream.openAsync'和'URLLoader'以本地文件URL)訪問文件。一種解決方案是在任何地方使用同步訪問,另一種解決方案是處理異步錯誤情況。鏈接的博客建議增加延遲來解決問題,還建議代碼添加事件偵聽器而不刪除它們,這兩者都是Bad Ideas(TM)。 –

0

我有同樣的問題,但我解決了它通過添加一個事件監聽器到我的文件流。

private function someFunction():void 
{ 
    _writeFileStream.addEventListener(Event.CLOSE, onWriteFileStreamComplete);    
    _writeFileStream.close(); 
} 

private function onWriteFileStreamComplete(e:Event):void 
{ 
    //do the stuff you want to do here 
} 
0

我這個錯誤文件類,我解決了它喜歡做@raduanastase但我沒加Event.CLOSE作爲事件偵聽器,我已經添加Event.COMPLETE作爲事件監聽器並解決了這個問題