1

以下のコードで、生のフォルダーからファイルを動的に取得しようとしています

try{
        DataInputStream dataIO= new DataInputStream(getResources().getIdentifier("raw/"+chapter, null ,<what to write>);
        String strLine= null;
        while((strLine = dataIO.readLine())!=null){
            buffer.append(strLine);
            buffer.append("\n");
        }
        dataIO.close();
    }catch(Exception e){}

「何を書くか」セクションにパッケージ名を直接入力すると、エラーが表示されます。それについて何か考えを教えてください。

4

2 に答える 2

2

生のリソースの ID を動的に取得する場合、次のコード スニペットが役立ちます。

int id = getResources().getIdentifier(chapter, "raw", getPackageName());

DataInputStream オブジェクトは次のように構築する必要があります。

DataInputStream dataIO= new DataInputStream(getResources().openRawResource(id));
于 2012-10-31T08:53:00.830 に答える
0

完全修飾リソース名は「package:type/entry」の形式ですが、これがコードにありません。以下のコードを使用して生のリソースにアクセスします。

getResources().getIdentifier("package:type/entry", null, null);

于 2012-10-31T08:54:04.183 に答える