0

FileInputStreamを使用して、Androidアプリケーションでそのファイル名のファイルを読み取る場合、ファイルをどこに保存する必要がありますか。res / rawで保存できますか?

4

2 に答える 2

1

実行時にres/rawに保存することはできません。sdcardまたはキャッシュディレクトリに保存できます。

SDカードにファイルを保存するには、カードへの書き込み権限が必要です。AndroidManifest.xmlに以下を追加する必要があります。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

次に、ファイルストリームを開き、書き込み、コード内の必要な場所で閉じます。

String filename = "filename.txt";
File file = new File(Environment.getExternalStorageDirectory(), filename);
FileOutputStream fos;
byte[] data = new String("data to write to file").getBytes();
try {
    fos = new FileOutputStream(file);
    fos.write(data);
    fos.flush();
    fos.close();
} catch (FileNotFoundException e) {
    // handle exception
} catch (IOException e) {
    // handle exception
}
于 2012-04-21T12:29:27.267 に答える
0

ファイルを.apk内に含めて実行時に読み取る場合はassets/、プロジェクトのフォルダーにファイルを配置する必要があります。次を使用できます。

InputStream istream = context.getAssets().open(FILE_NAME);

それに到達する。ただし、/ sdcardからファイルを読み取る方法を探している場合は、他の回答を参照してください。

于 2012-04-21T13:32:23.200 に答える