当前位置: 代码迷 >> Android >> android,怎么把gif格式的图片保存到SD卡中
  详细解决方案

android,怎么把gif格式的图片保存到SD卡中

热度:70   发布时间:2016-05-01 21:13:29.0
android,如何把gif格式的图片保存到SD卡中
我想从网上下载一些gif格式的图片,现在已经可以得到它的Bitmap对象(bmp),要把它保存到SD卡中(file),发现有下面的方法:
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
bmp.compress(Bitmap.CompressFormat.JPEG, 80, bos);

但是好像compress()方法只能保存jpg格式或者png格式,因此我想问一下,如何才能保存为gif格式呢?
谢谢!

------解决方案--------------------
先把bitmap对象转换成byte字节或者buff,然后再直接用bos.write写入去
------解决方案--------------------
其实android中IO处理和java是一样的,你参考一下下面的下载方法吧,判断文件名后缀和保存到SD卡中就没写出来了
Java code
//path为下载路径,saveName是保存名称可以是任何文件public void getImage(String path, String saveName) throws Exception {        URL url = new URL(path);        HttpURLConnection con = (HttpURLConnection) url.openConnection();        con.setRequestMethod("GET");        con.setConnectTimeout(1000 * 6);        if (con.getResponseCode() == 200) {            InputStream inputStream = con.getInputStream();            byte[] b = getByte(inputStream);            File file = new File(saveName);            FileOutputStream fileOutputStream = new FileOutputStream(file);            fileOutputStream.write(b);            fileOutputStream.close();        }    }    private byte[] getByte(InputStream inputStream) throws Exception {        byte[] b = new byte[1024];        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();        int len = -1;        while ((len = inputStream.read(b)) != -1) {            byteArrayOutputStream.write(b, 0, len);        }        byteArrayOutputStream.close();        inputStream.close();        return byteArrayOutputStream.toByteArray();    }
  相关解决方案