1

この回答に従ってtxtファイルを読み込もうとしていますが、うまくいきません。次の例外が表示されます。

java.io.IOException: Root is not accessible
 - com/sun/io/j2me/file/Protocol..unknown.(), bci=21
 - com/sun/io/j2me/file/Protocol..unknown.(), bci=424
 - com/sun/io/j2me/file/Protocol..unknown.(), bci=5
 - javax/microedition/io/Connector.open(), bci=73
 - javax/microedition/io/Connector.open(), bci=6
 - javax/microedition/io/Connector.open(), bci=3

これはコードです:

try 
{                    
    fileConnection = (FileConnection)Connector.open("file://home//pi//test.txt", Connector.READ_WRITE);

    if(fileConnection.exists()) 
    {
         int size = (int)fileConnection.fileSize();
         is= fileConnection.openInputStream();
         byte bytes[] = new byte[size];
         is.read(bytes, 0, size);
         String str = new String(bytes, 0, size);

         System.out.println(size);
    }

}

権限に関係していると思いますが、これらを設定しました:

javax.microedition.io.Connector.file.read

javax.microedition.io.Connector.file.write

java.io.FilePermission "file://*" "read,write"

誰でも私を助けることができますか?

前もって感謝します、

4

1 に答える 1

0

一部またはほとんどの JavaME 対応携帯電話では、SD カードまたは内部ストレージのすべてのフォルダへのアクセスが許可されていません。

代わりにString file = "file:///c:/other/test.txt";orを使用してみてください。String file = "file:///e:/other/test.txt";

String file = System.getProperty("fileconn.dir.memorycard") + "/test.txt";または、試すことができますString file = System.getProperty("fileconn.dir.memorycard") + "/other/test.txt";

ただし、最善の方法は、使用可能なフォルダーを単純にチェックするコードを使用することです。ここにいくつかの有用な例があります: http://javatechig.com/java/j2me/fileconnection-apis-jsr-75

于 2016-05-22T06:08:43.357 に答える