httpclient读取字节流并转换为byte[]数组
在web项目中,httpclient 工具被经常使用.最近一个需求是,俩个应用 , 第一个应用存入用户上传图片地址,然后存储到ftp服务器上,第二个应用使用httpclient读取第一个应用存入ftp的图片字节流. 下面是代码:
/** * httpclient发送get请求 */public static byte[] httpGet(String uri) {CloseableHttpClient httpclient = HttpClients.createDefault();byte[] fileBytes = null;try {// 创建httpclient get请求.HttpGet httpget = new HttpGet(uri);System.out.println(" request for :" + httpget.getURI());// 执行get请求.CloseableHttpResponse response = httpclient.execute(httpget);try {//获取响应实体HttpEntity entity = response.getEntity();InputStream inputContent = entity.getContent();fileBytes = input2byte(inputContent);} finally {response.close();}} catch (ClientProtocolException e) {e.printStackTrace();} catch (ParseException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {// 关闭连接,释放资源try {httpclient.close();} catch (IOException e) {e.printStackTrace();}}retu fileBytes;}/** * inputStream转换为byte字节数组 * @param inStream * @retu * @throws IOException */public static final byte[] input2byte(InputStream inStream) throws IOException {ByteArrayOutputStream swapStream = new ByteArrayOutputStream();byte[] buff = new byte[100];int rc = 0;while ((rc = inStream.read(buff, 0, 100)) > 0) { swapStream.write(buff, 0, rc);}byte[] in2b = swapStream.toByteArray();retu in2b;}
代码还不够完善.请多多指点.
作者:漫长的~以后
来源链接:https://blog.csdn.net/fuqiang0203/article/details/86604363
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。