3

尝试使用JSR 75访问保存在设备上“/home/video/”目录下的媒体。使用黑莓 JDK 4.6.1。单行代码引发“ FileSystem IO Error”异常。像往常一样,这在极端情况下无济于事。

fconn = (FileConnection)Connector.open("file:///home/user/videos/"+name, Connector.READ);

有没有人尝试过这样做?我可以在我的 jar 中打开文件,但似乎无法访问媒体文件夹。我有javax.microedition.io.Connector.file.read权限集并且我的应用程序已签名。

4

1 回答 1

5

BlackBerry 上有两种文件系统 - SDCard 和 store。您必须使用其中之一,在路径中定义它。SDCard 上存储视频、音乐等的标准目录是“file:///SDCard/BlackBerry”。

    String standardPath = "file:///SDCard/BlackBerry";
    String videoDir = System.getProperty("fileconn.dir.videos.name");
    String fileName = "video.txt";
    String path = standardPath+"/"+videoDir+"/"+fileName;
    String content = "";
    FileConnection fconn =  null;
    DataInputStream is = null;
    ByteVector bytes = new ByteVector();
    try {
        fconn = (FileConnection) Connector.open(path, Connector.READ);
        is = fconn.openDataInputStream();

        int c = is.read();
        while(-1 != c)
        {
            bytes.addElement((byte) (c));
            c = is.read();
        }

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    content = new String(bytes.toArray());
    add(new RichTextField(content));

另请参阅
SUN 开发网络 - FileConnection API 入门
RIM 论坛 - 关于 FileConnection/JSR 75 的一些问题
使用 System.getProperty("fileconn.dir.memorycard") 检查 SDCard 是否可用
如何在 Blackberry 中保存和删除位图图像风暴?

于 2009-05-21T05:17:58.237 回答