HttpURLConnection获取图片数据流

来源:互联网 发布:管理客户资料的软件 编辑:程序博客网 时间:2024/05/25 19:59

从后台java中获取服务器图片数据(方法如下):

URL url = new URL("");HttpURLConnection  conn =(HttpURLConnection)url.openConnection();InputStream inputStream=conn.getInputStream();
正常情况下,到这里已经能够获取数据流,再对数据流进行操作就可以了。

但是,在实际操作中发现:对于bmp格式的图片数据,在将数据流转为图片之后,图片出现了错位。

在使用inputStream.available()获取数据大小时,发现每调用一次,显示的结果都不同(原来对于bmp这种图片,由于没有压缩,导致数据比较大,采用分块传输)。

          //检查是否传输完成          while(true){length=inputStream.available();if(length==inputStream.available()){times++;if(times==4)break;}else{continue;}}            int n = 0;// 每次读取的字节长度    byte[] bb = new byte[1024];// 存储每次读取的内容sun.misc.BASE64Encoder encoder= new sun.misc.BASE64Encoder();    while((n = inputStream.read(bb)) != -1){    buffer.append(encoder.encode(bb));        }
到此,图片就能够正常显示。



0 0
原创粉丝点击