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

   //直接上代码就不废话啦
   //一:保存到SD卡下
   //[java] view plain copy
  File file = new File(Environment.getExternalStorageDirectory(), System.currentTimeMillis()+".jpg");
  try {
  out = new FileOutputStream(file);
  btImage.compress(Bitmap.CompressFormat.JPEG, 90, out);
  System.out.println("___________保存的__sd___下_______________________");
  } catch (FileNotFoundException e) {
  e.printStackTrace();
  }
  try {
  out.flush();
  out.close();
  } catch (IOException e) {
  e.printStackTrace();
  }
  Toast.makeText(HahItemActivity.this,"保存已经至"+Environment.getExternalStorageDirectory()+"下", Toast.LENGTH_SHORT).show();
   }
  //上面的方法就是 直接定义一个文件的路径,和图片的名称,然后保存.
  //二:保存Bitmap到指定的SD卡文件夹目录下
  //想想也知道,这个必须先有个文件夹,才能把图片保存这里面,那就按照思路学代码吧
  //[java] view plain copy
  if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) // 判断是否可以对SDcard进行操作  
  {    // 获取SDCard指定目录下  
  String  sdCardDir = Environment.getExternalStorageDirectory()+ "/CoolImage/";
  File dirFile  = new File(sdCardDir);  //目录转化成文件夹  
  if (!dirFile .exists()) {              //如果不存在,那就建立这个文件夹  
  dirFile .mkdirs();
  }                          //文件夹有啦,就可以保存图片啦              
  File file = new File(sdCardDir, System.currentTimeMillis()+".jpg");// 在SDcard的目录下创建图片文,以当前时间为其命名  

  try {
  out = new FileOutputStream(file);
  btImage.compress(Bitmap.CompressFormat.JPEG, 90, out);
  System.out.println("_________保存到____sd______指定目录文件夹下____________________");
  } catch (FileNotFoundException e) {
  e.printStackTrace();
  }
  try {
  out.flush();
  out.close();
  } catch (IOException e) {
  e.printStackTrace();
  }
  Toast.makeText(HahItemActivity.this,"保存已经至"+Environment.getExternalStorageDirectory()+"/CoolImage/"+"目录文件夹下", Toast.LENGTH_SHORT).show();
  }

  //注:访问权限注意哦
  //[java] view plain copy
  //<!-- 安卓读写sd权限 -->
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
 
    //关于图片的  SD卡的
    //未完   待续
    //
    //[java] view plain copy
    //将Bitmap图片保存到sd卡  
    protected void saveBitmapToSD(Bitmap bt) {
        File path = Environment.getExternalStorageDirectory();
        File file = new File(path, System.currentTimeMillis() + ".jpg");
        System.out.println(Environment.getExternalStorageState() + "/Cool/" +"000000000000000000000000000");
        try {
        FileOutputStream out = new FileOutputStream(file);
        bt.compress(Bitmap.CompressFormat.JPEG, 90, out);
        } catch (FileNotFoundException e) {
        e.printStackTrace();
        }
        out.flush();
        out.close();
        }

    
  /**
   * 保存bitmap到SD卡 
   * @param bitName 保存的名字 
   * @param mBitmap 图片对像 
   * return 生成压缩图片后的图片路径 
   */
  public static String saveMyBitmap(String bitName,Bitmap mBitmap) {
        File f = new File("/sdcard/" + bitName + ".png");
        try {
        f.createNewFile();
        } catch (IOException e) {
        System.out.println("在保存图片时出错:" + e.toString());
        }
        FileOutputStream fOut = null;
        try {
        fOut = new FileOutputStream(f);
        } catch (FileNotFoundException e) {
        e.printStackTrace();
        }
        try {
        mBitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);
        } catch (Exception e) {
        return "create_bitmap_error";
        }
        try {
        fOut.flush();
        } catch (IOException e) {
        e.printStackTrace();
        }
        try {
        fOut.close();
        } catch (IOException e) {
        e.printStackTrace();
        }

        return "/sdcard/" + bitName + ".png";
        }

 /**
  * 保存bitmap到SD卡 
  * @param bitmap
  * @param imagename
  */
   public static String saveBitmapToSDCard(Bitmap bitmap, String imagename) {
        String path = "/sdcard/" + "img-" + imagename + ".jpg";
        FileOutputStream fos = null;
        try {
        fos = new FileOutputStream(path);
        if (fos != null) {
        bitmap.compress(Bitmap.CompressFormat.JPEG, 90, fos);
        fos.close();
        }

        return path;
        } catch (Exception e) {
        e.printStackTrace();
        }
        return null;
        }   
 
    转载:http://blog.csdn.net/gjy211/article/details/50868519



猜你喜欢

转载自blog.csdn.net/qq_33523706/article/details/77930844
今日推荐