package com.cv4j.ocrdemo.camera.util; import android.content.ContentResolver; import android.content.Context; import android.database.Cursor; import android.graphics.Bitmap; import android.net.Uri; import android.os.Environment; import android.provider.MediaStore; import android.util.Log; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; /** * Created by tony on 2017/9/26. */ public class FileUtils { private static final String TAG = FileUtils.class.getSimpleName(); private static final File parentPath = Environment.getExternalStorageDirectory(); private static String storagePath = ""; private static final String FOLDER_NAME = "CameraView"; /** * 保存Bitmap到SD卡 * @param b * @param savePath */ public static void saveBitmap(Bitmap b, String savePath){ try { FileOutputStream fileOutputStream = new FileOutputStream(savePath); BufferedOutputStream bos = new BufferedOutputStream(fileOutputStream); b.compress(Bitmap.CompressFormat.JPEG, 100, bos); bos.flush(); bos.close(); Log.i(TAG, "saveBitmap成功"); } catch (IOException e) { // TODO Auto-generated catch block Log.i(TAG, "saveBitmap:失败"); e.printStackTrace(); } } /** * 根据文件Uri获取文件路径 * @param context * @param uri * @return the file path or null */ public static String getRealFilePath(final Context context, final Uri uri ) { if ( null == uri ) return null; final String scheme = uri.getScheme(); String path = null; if ( scheme == null ) path = uri.getPath(); else if ( ContentResolver.SCHEME_FILE.equals( scheme ) ) { path = uri.getPath(); } else if ( ContentResolver.SCHEME_CONTENT.equals( scheme ) ) { Cursor cursor = context.getContentResolver().query( uri, new String[] { MediaStore.Images.ImageColumns.DATA }, null, null, null ); if ( null != cursor ) { if ( cursor.moveToFirst() ) { int index = cursor.getColumnIndex( MediaStore.Images.ImageColumns.DATA ); if ( index > -1 ) { path = cursor.getString( index ); } } cursor.close(); } } return path; } }