如何在SD卡中的文件中存储位图图像?

时间:2012-07-06 13:11:24

标签: android

    bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);

    if(android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
    {
        cacheFile = new File(android.os.Environment.getExternalStorageDirectory(), "Android/data/"+this.getPackageName()+"/cache/");
        if(!cacheFile.exists())
        {
            cacheFile.mkdir();
        }
        try {
            fileOutputStream = new FileOutputStream(cacheFile);
            bitmap.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream);
            fileOutputStream.flush();
            fileOutputStream.close();
        } catch (Exception e) {
            Log.i("Error", e.getMessage());
        }
    }

但是我收到mnt / sdcard / Android / data / com.android.linegame / cache文件不存在的错误

1 个答案:

答案 0 :(得分:0)

你正在使用Android的哪个版本?因为Android 2.2在mnt / sdcard中包含文件夹“Android”。但Android 4.0版本不包含“Android”文件夹。

添加以下代码:

cacheFile = new File(Environment.getExternalStorageDirectory(), "/Android/data/"+this.getPackageName()+"/cache/");
if(!cacheFile.exists()) {
    cacheFile.mkdirs();
}