2011-05-05 28 views
1

我正在使用FileConnection接口寫入文件系統的Blackberry應用程序。Blackberry FileConnection illegalStateException

當我嘗試調用某個文件上的delete()時,出現IllegalStateException。堆棧跟蹤爲如下

IllegalStateException 
    No detail message 
    net_rim_os 
    FileImpl 
    remove 
    0x373D 
    net_rim_os-6 
    ContentStoreConnection 
    delete 
    0x12DA 
    com_companyName_blackberryClient-7 
    FileUtility 
    <private> 
    0x14C6 

堆棧跟蹤顯示異常發生在FileImpl刪除(),但我不能在任何地方找到這種方法的任何信息(看起來是一個內部黑莓類)

該文件位於

file:///store/home/user/appName 

有誰知道爲什麼從該目錄中刪除文件會導致illegalStateException異常?

我們只看到過這個問題一次,證明很難複製。有一次它確實發生過,有可能在同一目錄中創建和訪問其他幾個其他文件。這是否會成爲例外發生的一個因素?

黑莓OS版本爲4.5.0.180和API的版本是4.5.0

+0

當您試圖刪除文件時,您是否確定該文件未打開? – jprofitt 2011-05-05 16:47:36

+0

該文件是一個媒體文件(一個JPEG圖像)? – 2011-05-05 19:08:23

+0

@Arhimed - 不是該文件不是jpeg圖像。這只是一個臨時文件,用於確保我們可以訪問文件系統 – 2011-05-06 09:59:45

回答

2

檢查您要刪除的文件不能被另一個線程開放。在過去忘記正確關閉()FileConnection或InputStream時,我遇到了這個問題。