网络图片转为bitmap 转换为文件(File)保存至SD卡中

来源:互联网 发布:java map计数 编辑:程序博客网 时间:2024/05/16 12:18

/**
   * return a bitmap from service
   * @param url
   * @return bitmap type
   */
  public final static Bitmap returnBitMap(String url) {   
   URL myFileUrl = null;   
   Bitmap bitmap = null;   
   
   try {
    myFileUrl = new URL(url);    
    HttpURLConnection conn;
  
    conn = (HttpURLConnection) myFileUrl.openConnection();
   
    conn.setDoInput(true);   
    conn.connect(); 
    InputStream is = conn.getInputStream();   
    bitmap = BitmapFactory.decodeStream(is);  
    
   } catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }  catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   return bitmap;  
   }


public static String getSDPath(){
  File sdDir = null;
  boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
  if (sdCardExist)
  {
   sdDir = Environment.getExternalStorageDirectory();//获取跟目录
  }
  return sdDir.toString();   
 }
 



   /** 
     * 保存文件 
     * @param bm 
     * @param fileName 
     * @throws IOException 
     */  
    public void saveFile(Bitmap bm, String fileName) throws IOException { 
     String path = getSDPath() +"/revoeye/";     
        File dirFile = new File(path);  
        if(!dirFile.exists()){  
            dirFile.mkdir();  
        }  
        File myCaptureFile = new File(path + fileName);  
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(myCaptureFile));  
        bm.compress(Bitmap.CompressFormat.JPEG, 80, bos);  
        bos.flush();  
        bos.close();  

    }


参考:http://2711082222.blog.163.com/blog/static/10630224920122285145745/

0 0
原创粉丝点击