2011-02-08 19 views
3

によって書かれたキャッシュファイルを読みます。私はopenFileInput()を経由して、それを読むために行くときは、しかし、私はスラッシュが含まれていること、そのパスの区切りが十分は、以前、私は以下のコードを使用してファイルに書いて、同じアプリ

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

フェア許可されていない私に言った例外を得るが、どのように他の私は、のパスを指定することができますファイルを開きますか?もちろん、これを行う方法が必要ですが、私はGoogleを使って答えを見つけることができません( '読み込み'、 'キャッシュ'、 'ファイル'は最もニッチな言葉ではありません...)人間のタッチを試してみてください。前もって感謝します!

+0

はたぶん、あなたの問題はその[getCacheDir](http://developer.android.com/reference/android/content/Contextです.html#getCacheDir%28%29)は** String **ではなく** File **を返します。 – dstefanox

答えて

6

あなたはかなりあなたは、出力ファイル作成したのと同じ方法でそれを行う:

FileInputStream fis = new FileInputStream(new File(getCacheDir(), "cachefile")); 
+0

ここで重要な変更は、 'openFileInput'の代わりに**' new FileInputStream' **を使うことです。 'openFileInput'は/data/data/com.myapp/files/のローカルアプリケーションファイルにアクセスすることができ、キャッシュは/data/data/com.myapp/cache/にあります。 – rousseauo

関連する問題