Android—將Bitmap圖片保存到SD卡目錄下或者指定目錄

直接上代碼就不廢話啦java

一:保存到SD卡下android

 

[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.      }  

上面的方法就是 直接定義一個文件的路徑,和圖片的名稱,而後保存.this

 

二:保存Bitmap到指定的SD卡文件夾目錄下spa

想一想也知道,這個必須先有個文件夾,才能把圖片保存這裏面,那就按照思路學代碼吧.net

 

[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.          }  

 

注:訪問權限注意哦orm

 

[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卡的 
未完   待續blog

 

[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.    }    
相關文章
相關標籤/搜索