FileInputStreamを使用して、Androidアプリケーションでそのファイル名のファイルを読み取る場合、ファイルをどこに保存する必要がありますか。res / rawで保存できますか?
質問する
1017 次
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 に答える