如上几篇,当读取图片,肯定会用到缓存功能,如下
//读取流中的数据
InputStream is = hucn.getInputStream();
//读取获取到的流,整合成一个图片
//要实现图片缓存,边读取,边把图片存到本地文件
//设置一个1kb的数组
byte[] b = new byte[1024];
int len;
File file = new File(getCacheDir(), getNameFromPath(path));
//输出流
FileOutputStream fos = new FileOutputStream(file);
while ((len = is.read(b))!=-1) {
fos.write(b, 0, len);
}
fos.close();
//此处流中已经没有数据,所以需要读取本地数据来构造
Bitmap bp = BitmapFactory.decodeFile(file.getAbsolutePath());
此处缓存图片功能完成,其中getNameFromPath(path)方法是自己写的一个截取请求的网址中图片名字
//写一个截取图片名字方法
public String getNameFromPath(String path) {
int index = path.lastIndexOf("/");
return path.substring(index + 1);
}