我为BlackBerry设备编写了一个应用程序,用于将一些文件存储在内部存储中。我用这一行来连接存储
Connector.open("file:///store/BlackBerry/myDir/", Connector.READ_WRITE);
我的应用程序第一次尝试访问此存储时,我会检查是否存在正确的目录,如果不存在,则使用.mkdir();
创建它们
这个过程对我来说非常适合两个设备(Bold和Torch)我现在正试图在Curve上运行这个应用程序而且它无法为我创建目录。它给了我这个错误:
“net.rin.device.api.io.file.File.IOException:文件系统错误(12)”
是否有任何设备在其内部存储路径中使用“store /”以外的内容?或者还有什么可能与Curve设备内部存储有什么不同,这会导致此设备上的那条线路出现此异常而不会导致其他线路出现此异常?
答案 0 :(得分:4)
您应该使用FileSystemRegistry.listRoots()来查找可用的根文件系统。 Bold 9000和Torch 9800都有内部闪存,但是IIRC却没有。另请参阅此link from RIM。
答案 1 :(得分:2)
事实证明,根(file:/// store /)只能在此设备上读取。为了使它工作,我只是进入了一个更深入的目录。我现在正在使用:
"file:///store/home/user/BlackBerry/myDir/"
答案 2 :(得分:1)
您确定是触发此错误的代码吗? 12似乎表明SQLite无法正常工作。查看this link,其中有些人可以快速打开和关闭(数据库)文件。他还表示Curve不支持“设备内存中的SQLite”。
另一个与SQL无关的Google发现:RIMs support pages。问题是需要关闭BOTH输出流和文件连接。