将位图保存在内部缓存文件夹

时间:2017-01-30 17:06:11

标签: java android file bitmap storage

我需要做几件简单的事情......但我无法做到正确

  • 将位图保存到内部缓存供以后使用,现在我保存名称(例如:name_2347458.jpg)

我试过这种方法:

public static void saveFile(Context context, Bitmap bitmap, String picName) {
    FileOutputStream fileOutputStream;
    try {
        fileOutputStream = context.openFileOutput(picName, Context.MODE_PRIVATE);
        bitmap.compress(Bitmap.CompressFormat.JPEG, 30, fileOutputStream);
        fileOutputStream.close();
    } catch (FileNotFoundException e) {
        Log.d(TAG, "file not found");
        e.printStackTrace();
    } catch (IOException e) {
        Log.d(TAG, "io exception");
        e.printStackTrace();
    }

}

它会保存文件,但我不知道在哪里?

使用getExternalCacheDir()我可以在设备上看到该文件,但不能看到openFileOutput。

我可以使用以下命令加载位图:

    public static Bitmap loadBitmap(Context context, String picName) {

    Bitmap bitmap = null;
    FileInputStream fileInputStream;
    try {
        fileInputStream = context.openFileInput(picName);
        bitmap = BitmapFactory.decodeStream(fileInputStream);
        fileInputStream.close();

    } catch (FileNotFoundException e) {
        Log.d(TAG, "file not found");
        e.printStackTrace();
    } catch (IOException e) {
        Log.d(TAG, "io exception");
        e.printStackTrace();
    }
    return bitmap;
}

但是再次使用名称

1 个答案:

答案 0 :(得分:1)

  

它保存文件,但我不知道在哪里?

将其保存在internal storage

  

我可以用

加载位图

然后你的代码似乎工作正常。