直接上代码就不废话啦
一:保存到SD卡下
- 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卡文件夹目录下
想想也知道,这个必须先有个文件夹,才能把图片保存这里面,那就按照思路学代码吧
- 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();
- }
注:访问权限注意哦
- <!-- 安卓读写sd权限 -->
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- t;uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
关于图片的 SD卡的
未完 待续
- //将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;
- }