Android—将Bitmap图片保存到SD卡目录下或者指定目录

赋料扬雄敌,诗看子建亲。这篇文章主要讲述Android—将Bitmap图片保存到SD卡目录下或者指定目录相关的知识,希望能为你提供帮助。
直接上代码就不废话啦
一:保存到SD卡下
 
[java]  view plain  copy  

  1. File  file  =  new  File(Environment.getExternalStorageDirectory(),  System.currentTimeMillis()+".jpg");    
  2.         try  {   
  3.                         out  =  new  FileOutputStream(file);    
  4.                         btImage.compress(Bitmap.CompressFormat.JPEG,  90,  out);    
  5.                         System.out.println("___________保存的__sd___下_______________________");    
  6.                 }  catch  (FileNotFoundException  e)  {   
  7.                         e.printStackTrace();    
  8.                 }   
  9.                 try  {   
  10.                         out.flush();    
  11.                         out.close();    
  12.                 }  catch  (IOException  e)  {   
  13.                         e.printStackTrace();    
  14.                 }   
  15.                 Toast.makeText(HahItemActivity.this,"保存已经至"+Environment.getExternalStorageDirectory()+"下",  Toast.LENGTH_SHORT).show();    
  16.           }   
上面的方法就是 直接定义一个文件的路径,和图片的名称,然后保存.
 
二:保存Bitmap到指定的SD卡文件夹目录下
想想也知道,这个必须先有个文件夹,才能把图片保存这里面,那就按照思路学代码吧
 
[java]  view plain  copy  
  1. if  (Environment.getExternalStorageState().equals(  Environment.MEDIA_MOUNTED))  //  判断是否可以对SDcard进行操作   
  2.                           {        //  获取SDCard指定目录下   
  3.                                   String    sdCardDir  =  Environment.getExternalStorageDirectory()+  "/CoolImage/";    
  4.                                   File  dirFile    =  new  File(sdCardDir);     //目录转化成文件夹   
  5.                                   if  (!dirFile  .exists())  {                            //如果不存在,那就建立这个文件夹   
  6.                                         dirFile  .mkdirs();    
  7.                                           }                                                    //文件夹有啦,就可以保存图片啦                           
  8.                                   File  file  =  new  File(sdCardDir,  System.currentTimeMillis()+".jpg"); //  在SDcard的目录下创建图片文,以当前时间为其命名   
  9.            
  10.                         try  {   
  11.                                 out  =  new  FileOutputStream(file);    
  12.                                 btImage.compress(Bitmap.CompressFormat.JPEG,  90,  out);    
  13.                                 System.out.println("_________保存到____sd______指定目录文件夹下____________________");    
  14.                         }  catch  (FileNotFoundException  e)  {   
  15.                                 e.printStackTrace();    
  16.                         }   
  17.                         try  {   
  18.                                 out.flush();    
  19.                                 out.close();    
  20.                         }  catch  (IOException  e)  {   
  21.                                 e.printStackTrace();    
  22.                         }   
  23.                         Toast.makeText(HahItemActivity.this,"保存已经至"+Environment.getExternalStorageDirectory()+"/CoolImage/"+"目录文件夹下",  Toast.LENGTH_SHORT).show();    
  24.                   }   
 
注:访问权限注意哦
 
[java]  view plain  copy  
  1. < !--  安卓读写sd权限  -->    
  2.   < uses-permission  android:name="android.permission.READ_EXTERNAL_STORAGE"  />    
  3.   < uses-permission  android:name="android.permission.WRITE_EXTERNAL_STORAGE"  />    
  4. t; uses-permission  android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>      



 
关于图片的   SD卡的 
未完   待续
【Android—将Bitmap图片保存到SD卡目录下或者指定目录】 
[java]  view plain  copy  
    1. //将Bitmap图片保存到sd卡   
    2.    
    3.       protected  void  saveBitmapToSD(Bitmap  bt)  {   
    4.               File  path  =  Environment.getExternalStorageDirectory();    
    5.               File  file  =  new  File(path,  System.currentTimeMillis()  +  ".jpg");    
    6.               System.out.println(Environment.getExternalStorageState()  +  "/Cool/"  +"000000000000000000000000000");    
    7.               try  {   
    8.                       FileOutputStream    out  =  new  FileOutputStream(file);    
    9.                       bt.compress(Bitmap.CompressFormat.JPEG,  90,  out);    
    10.               }  catch  (FileNotFoundException  e)  {   
    11.                       e.printStackTrace();    
    12.               }   
    13.               out.flush();    
    14.               out.close();    
    15.       }   
    16.    
    17.       /** 
    18.         *  保存bitmap到SD卡 
    19.         *  @param  bitName  保存的名字 
    20.         *  @param  mBitmap  图片对像 
    21.         *  return  生成压缩图片后的图片路径 
    22.         */   
    23.       public  static  String  saveMyBitmap(String  bitName,Bitmap  mBitmap)  {   
    24.               File  f  =  new  File("/sdcard/"  +  bitName  +  ".png");    
    25.               try  {   
    26.                       f.createNewFile();    
    27.               }  catch  (IOException  e)  {   
    28.                       System.out.println("在保存图片时出错:"  +  e.toString());    
    29.               }   
    30.               FileOutputStream  fOut  =  null;    
    31.               try  {   
    32.                       fOut  =  new  FileOutputStream(f);    
    33.               }  catch  (FileNotFoundException  e)  {   
    34.                       e.printStackTrace();    
    35.               }   
    36.               try  {   
    37.                       mBitmap.compress(Bitmap.CompressFormat.PNG,  100,  fOut);    
    38.               }  catch  (Exception  e)  {   
    39.                       return  "create_bitmap_error";    
    40.               }   
    41.               try  {   
    42.                       fOut.flush();    
    43.               }  catch  (IOException  e)  {   
    44.                       e.printStackTrace();    
    45.               }   
    46.               try  {   
    47.                       fOut.close();    
    48.               }  catch  (IOException  e)  {   
    49.                       e.printStackTrace();    
    50.               }   
    51.    
    52.               return  "/sdcard/"  +  bitName  +  ".png";    
    53.       }   
    54.    
    55.       /** 
    56.         *  保存bitmap到SD卡 
    57.         *  @param  bitmap 
    58.         *  @param  imagename 
    59.         */   
    60.       public  static  String  saveBitmapToSDCard(Bitmap  bitmap,  String  imagename)  {   
    61.               String  path  =  "/sdcard/"  +  "img-"  +  imagename  +  ".jpg";    
    62.               FileOutputStream  fos  =  null;    
    63.               try  {   
    64.                       fos  =  new  FileOutputStream(path);    
    65.                       if  (fos  !=  null)  {   
    66.                               bitmap.compress(Bitmap.CompressFormat.JPEG,  90,  fos);    
    67.                               fos.close();    
    68.                       }   
    69.    
    70.                       return  path;    
    71.               }  catch  (Exception  e)  {   
    72.                       e.printStackTrace();    
    73.               }   
    74.               return  null;    
    75.       }       

    推荐阅读