我正在开发一个使用 FileConnection 接口(interface)写入文件系统的 Blackberry 应用程序。
当我尝试对某个文件调用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 中的remove()中,但我在任何地方都找不到有关此方法的任何信息(看起来它是一个内部黑莓类)
该文件位于
file:///store/home/user/appName
有谁知道为什么从该目录中删除文件会导致非法状态异常?
我们只见过这个问题一次,而且事实证明很难重现。如果确实发生这种情况,则可能是在同一目录中创建并访问了其他几个文件。这会是异常发生的一个因素吗?
Blackberry OS 版本为 4.5.0.180,API 版本为 4.5.0
最佳答案
检查您尝试删除的文件是否未被其他线程打开。我过去在忘记正确 close() FileConnection 或 InputStream 时遇到过这个问题。
关于java - 黑莓文件连接非法状态异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5900435/