android 下载图片到sd卡,通过查看“相册”找不到,确定已经下载到sd卡,求指点

来源:互联网 发布:安卓制作windows启动盘 编辑:程序博客网 时间:2024/05/29 18:10
问题1:如上,图片从服务器上下载下来,但是打开手机相册后看不到下载的图片,一定要找到sd卡图片目录,打开图片,这个时候再打开相册就可以看到了,这是为什么?下面是我的代码,求指点哪里写的不对,谢谢。


//保存图片到sdcard
 public void saveImages(String imageViews){
         InputStream is = null;         //定义一个输入流。  
         BufferedInputStream bis = null;//定义一个带缓冲的输入流 。   
         try{   
           URL url = new URL(imageViews);//创建一个URL对象。  
           is = url.openStream();        //打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。  
           bis = new BufferedInputStream(is);       
         }catch(Exception e){       
             System.out.println(e.toString());       
         }     
         
       //创建储存图片的文件
 String midr = Environment.getExternalStorageDirectory()+ "/download";
      File fird = new File(midr); 
      if(!fird.exists()){
      fird.mkdirs();                      //创建新文件夹
      }
     //获取系统时间
      dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
      String systemTime = dateFormat.format(new java.util.Date());
      String path = Environment.getExternalStorageDirectory()+ "/download/" + "wx"+"_"+systemTime+".jpg";
         //path =mnt/xuzhong/wx_201408211452.jpg
        //写到本地   
         BufferedOutputStream bos = null; //定义一个带缓冲的输出流。  
         File file = new File(path);    
         
         try{       
             bos = new BufferedOutputStream(new FileOutputStream(file));;  
            //file:mnt/sdcard/xunzhong/wx_20140821163351.jpg
             byte[] b = new byte[1024];         //创建字节数组。  
             while(bis.read(b)!=-1){            //输入流中的数据如果还有下一行(!=-1)将继续循环  
                 bos.write(b);                 //将字节数组写入输出流。      
             }         
         }catch(Exception   e){       
         System.out.println("++++++++++++++++++"+e.toString());  
         }finally{       
             try{       
                 bos.flush();                 //刷新此缓冲的输出流。   
                 bis.close();                 //关闭此输入流 。   
             }catch(Exception   e){       
            System.out.println("++++++++++++++++++"+e.toString());         
             }       
         } 
 }

问题二:通过这个方法有时候下载下来的图片打不开,但是它有大小比如20k,打不开几率为10%


谢谢了
0 0
原创粉丝点击