私は次のようなコードを持っています:
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
//create name based on time? just a simple link to photo
//save to cache file
File file = getExternalCacheDir();
if (file != null) {
try {
String root = file.getAbsolutePath();
File imageFile = new File(file, "m_images.jpeg");
boolean tr = imageFile.mkdirs();
FileOutputStream stream = new FileOutputStream(imageFile);
boolean complete = image.compress(Bitmap.CompressFormat.PNG, 90, stream);
if (!complete) {
Log.d("tag", "image doesn't saved");
}
Log.d("tag", "image saved");
} catch (IOException e) {
Log.d("tag", "Can't save image", e);
}
しかし、FileOoutputStream を開くと、常に次の例外が発生します。
java.io.FileNotFoundException: /mnt/sdcard/Android/data/com.whatever/cache/m_images.jpeg (Is a directory)
この問題の原因はどこにあると言えますか? ファイルが作成されないのはなぜですか?