5

以下のコードを使用してファイルに書き込んでいます。

File file = new File(getCacheDir(), "cachefile");
FileOutputStream fos = new FileOutputStream(file);
StringBuilder cachetext = new StringBuilder();
Iterator bri = brands.iterator();
Iterator bli = brand_id.iterator();
while(bli.hasNext()) {
    cachetext.append(bli.next() + "|" + bri.next() + System.getProperty("line.separator"));
}
fos.write(cachetext.toString().getBytes());
fos.close();

これは正常に動作します - エラーはなく、ファイルには含まれていると思われるものが含まれます。しかし、openFileInput() 経由で読み込もうとすると、パス区切り文字が許可されていないという例外が発生します。

FileInputStream fis = openFileInput(getCacheDir() + "/cachefile");

これにはスラッシュが含まれていますが、開きたいファイルのパスを他にどのように指定できますか? もちろん、これを行う方法があるに違いありませんが、Google 経由で答えを見つけることができません (「読み取り」、「キャッシュ」、「ファイル」は最もニッチな用語ではありません...)。人間味を試してみてください。前もって感謝します!

4

1 に答える 1

10

出力ファイルを作成したのとほぼ同じ方法で行います。

FileInputStream fis = new FileInputStream(new File(getCacheDir(), "cachefile"));
于 2011-05-11T23:21:29.083 に答える