根据图片路径把图片的二进制数据写入内存

public static byte[] readInputStream(InputStream inStream) throws Exception{  
        ByteArrayOutputStream outStream = new ByteArrayOutputStream();  
        //创建一个Buffer字符串  
        byte[] buffer = new byte[1024];  
        //每次读取的字符串长度,如果为-1,代表全部读取完毕  
        int len = 0;  
        //使用一个输入流从buffer里把数据读取出来  
        while( (len=inStream.read(buffer)) != -1 ){  
            //用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度  
            outStream.write(buffer, 0, len);  
        }  
        //关闭输入流  
        inStream.close();  
        //把outStream里的数据写入内存  
        return outStream.toByteArray();  
    }
/**
  * 根据图片路径得到图片的二进制数据
  * @param path
  * @return
  * @throws Exception
  */
public static byte[] getArrayByUrl(String path) throws Exception{
URL url = new URL(path);    
        // 打开连接    
        URLConnection con = url.openConnection();    
        //设置请求超时为5s    
        con.setConnectTimeout(5*1000);    
        // 输入流    
        InputStream inStream = con.getInputStream();    
        byte[] data = readInputStream(inStream);  
        return data;
}

猜你喜欢

转载自blog.csdn.net/guorun18/article/details/79761234