Android保存图片到本地,结果乱码。。

图片说明 求大神指点

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) {
showToast("保存失败");
}

    // 创建储存图片的文件
    String midr = Environment.getExternalStorageDirectory()
            + "/qsbang/image/";
    File fird = new File(midr);
    if (!fird.exists()) {
        fird.mkdirs(); // 创建新文件夹
    }
    // 获取系统时间
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
    String systemTime = dateFormat.format(new java.util.Date());
    String path = Environment.getExternalStorageDirectory()
            + "/qsbang/image/save" + "_" + 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) {
        showToast("保存失败");
    } finally {
        try {
            bos.flush(); // 刷新此缓冲的输出流。
            bis.close(); // 关闭此输入流 。
            showToast("保存成功");
            dialog.dismiss();
        } catch (Exception e) {
            showToast("保存失败");
        }
    }
}


这是代码。

你先看看本地下载以后的图片是不是就是坏的?然后看是保存的问题,还是显示的问题。