2009-05-05 5 views
3

JSR 75を使用して、デバイスの '/ home/video /'ディレクトリに保存されたメディアにアクセスしようとしています。 Blackbery JDK 4.6.1の使用。コードの単一行は 'FileSystem IO Error'例外をスローします。いつものように極端な場合には役に立たない。JDK内のBlackberryの 'Media'ディレクトリへのアクセス

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

誰でもこれを試みましたか?自分のjarファイルを開くことはできますが、メディアフォルダにアクセスできないようです。私はjavax.microedition.io.Connector.file.read権限セットを持っていて、私のアプリケーションには署名がついています。

+1

1つの提案は、使用することです: - はSystem.getProperty( "fileconn.dir.videos"); または - System.getProperty( "fileconn.dir.videos.name"); を使用して、目的のディレクトリへのパスを取得します。 –

答えて

5

BlackBerry - SDCardとストアには2種類のファイルシステムがあります。それらのうちの1つを使用して、パスで定義する必要があります。ビデオ、音楽などが格納されている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 Dev Network - Getting Started with the FileConnection APIs
RIM Forum - Some questions about FileConnection/JSR 75
Use System.getProperty("fileconn.dir.memorycard") to check if SDCard available
How to save & delete a Bitmap image in Blackberry Storm?

関連する問題