2011-08-16 93 views
3

我已经为BlackBerry设备编写了一个应用程序,用于在内部存储器中存储一些文件。我用这条线去存储BlackBerry文件系统

Connector.open("file:///store/BlackBerry/myDir/", Connector.READ_WRITE); 

第一次我的应用程序试图访问该存储的连接我检查,看看是否存在正确的目录,如果不是我创造他们.mkdir();

这过程在两个设备(一个粗体和一个手电筒)上完美地适用于我。我现在试图在Curve上运行此应用程序,但它无法为我创建目录。它给我这个错误:

“net.rin.device.api.io.file.File.IOException:文件系统错误(12)”

做任何设备上使用的东西,除了“存储/”在他们的内部存储路径?或者是否还有其他可能与Curve设备内部存储器不同的其他内容,这会导致此设备上的该行异常,但不会影响其他设备?

回答

4

您应该使用FileSystemRegistry.listRoots()来找出可用的根文件系统。 Bold 9000和Torch 9800都具有内部闪存存储,但曲线没有IIRC。另见link from RIM

1

你确定这是触发这个错误的代码吗? 12似乎表明SQLite工作不正常。查看this link,其中有些人从打开和关闭(数据库)文件中快速获取该文件。他还表示Curve不支持“设备内存中的SQLite”。

另一个与SQL无关的Google发现:RIMs support pages。那里的问题是需要关闭两个输出流和文件连接。

+0

我看到了这两个。我的情况也不是这样。我想我已经知道了。看来“store /”的根目录只能在这个设备上读取。我开始使用“store/home/user/BlackBerry/mydir /”,它似乎在工作。\ – FoamyGuy

2

事实证明,根(文件:/// store /)只能在此设备上读取。为了让它工作,我刚刚进入了一个更深的目录。我正在使用:

"file:///store/home/user/BlackBerry/myDir/"