我们在项目中多多少少都会遇到从SD卡中获取数据,其实最主要的是拿到文件的主要路径
//拼写一下图片的路径
String filepath=Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+"taobao"+File.separator+"IMG_20151218_211653.jpg";
打印结果:/storage/emulated/0/taobao/IMG_20151218_211653.jpg
文件的获取肯定要用到io流所以看下面代码,
try {
//获取图片(输入流)
BufferedInputStream bis=new BufferedInputStream(new FileInputStream(new File(filepath)));
//转为为字节数组(输出流)
ByteArrayOutputStream bos=new ByteArrayOutputStream();
byte[]bytes=new byte[8*1024];
int c=0;
while ((c=bis.read(bytes))!=-1) {
bos.write(bytes, 0, c);
bos.flush();
}
//image为图片控件
image.setImageBitmap(BitmapFactory.decodeByteArray(bos.toByteArray(), 0, bos.toByteArray().length));
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
bos.close();
} catch (Exception e) {
}
}