将图像加载为文件

时间:2017-01-30 17:09:19

标签: java android image file bitmap

如何将图像“.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();
    }

}

所以我只有名字作为参考

我试过了:

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)

如果您希望使用File个对象,我建议您始终这样做。使用getFilesDir()getCacheDir()作为构建文件发送位置File的基础(例如new File(getCacheDir(), picName))。然后,使用FileOutputStreamFileInputStream代替您的I / O,替换openFileOutput()openFileInput()