ファイルを書き込む必要がある MIDlet を作成しています。これを実現するために、JSR-75 の FileConnection を使用しています。
この MIDlet をできるだけ多くのデバイス (理想的には、JSR-75 をサポートするすべての MIDP 2.0 デバイス) で実行することを目的としています。
いくつかのエミュレーターと HTC Touch Pro2 では、次のコードを完全に使用してファイルシステムのルートを取得できます。
Enumeration drives = FileSystemRegistry.listRoots();
String root = (String) drives.nextElement();
String path = "file:///" + root;
ただし、Nokia S60 第 5 版エミュレータでは、このパスへの FileConnection を開こうとすると、java.lang.SecurityException がスローされます。どうやら S60 デバイスは、ファイルシステムのルートへの接続を許可していないようです。System.getProperty("fileconn.dir.photos") のようなものを使用できることはわかっていますが、それもすべてのデバイスでサポートされているわけではありません。
それで、私の実際の質問: 最大の移植性を可能にする FileConnection を作成するためのパスを取得するための最良の方法は何ですか?
ありがとう。
編集:列挙型のすべてのルートを反復処理し、書き込み可能なルートを確認できると思いますが、2 つの理由から、これはほとんど最適ではありません。まず、必ずしも書き込み可能なルートが存在するとは限りません。第二に、これは電話のメモリまたはメモリカードである可能性があるため、保存方法はデバイス間で一貫していないため、かなり醜い.