Java tutorial
//package com.java2s; //License from project: Open Source License import android.graphics.Bitmap; import android.graphics.Bitmap.CompressFormat; import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class Main { public static void saveBitmap(Bitmap bitmap, String descPath) { File file = new File(descPath); if (!file.getParentFile().exists()) { file.getParentFile().mkdirs(); } if (!file.exists()) { try { bitmap.compress(CompressFormat.JPEG, 30, new FileOutputStream(file)); } catch (FileNotFoundException e) { e.printStackTrace(); } } if (null != bitmap) { bitmap.recycle(); bitmap = null; } } public static File saveBitmap(String path, Bitmap bitmap) { return getFileFromBytes(Bitmap2Bytes(bitmap), path); } public static File getFileFromBytes(byte[] b, String outputFile) { BufferedOutputStream stream = null; File file = null; try { file = new File(outputFile); if (!file.getParentFile().exists()) { file.getParentFile().mkdirs(); } FileOutputStream fstream = new FileOutputStream(file); stream = new BufferedOutputStream(fstream); stream.write(b); } catch (Exception e) { e.printStackTrace(); } finally { if (stream != null) { try { stream.close(); } catch (IOException e1) { e1.printStackTrace(); } } } return file; } public static byte[] Bitmap2Bytes(Bitmap bm) { if (bm == null) { return null; } ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(CompressFormat.PNG, 100, baos); if (bm != null) { bm.recycle(); bm = null; } return baos.toByteArray(); } }