2011-05-05 49 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时,我遇到了这个问题。