HttpURLConnection下载文件流
Posted 也许还年轻
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpURLConnection下载文件流相关的知识,希望对你有一定的参考价值。
package com.loan.modules; import sun.net.www.protocol.file.Handler; import java.io.*; import java.net.HttpURLConnection; import java.net.URL; public class test333 { public static void main(String[] args) throws IOException { URL httpurl=new URL("http://yingufile-private.oss-cn-beijing.aliyuncs.com/PHYY/jpg/20170628/a85ab00c645e4b89dc38f3b8bb63a4f3"); HttpURLConnection httpConn=(HttpURLConnection)httpurl.openConnection(); httpConn.setDoOutput(true);// 使用 URL 连接进行输出 httpConn.setDoInput(true);// 使用 URL 连接进行输入 httpConn.setUseCaches(false);// 忽略缓存 httpConn.setRequestMethod("GET");// 设置URL请求方法 //可设置请求头 httpConn.setRequestProperty("Content-Type", "application/octet-stream"); httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接 httpConn.setRequestProperty("Charset", "UTF-8"); //可设置请求头 byte[] file =input2byte(httpConn.getInputStream()); writeBytesToFile(file,"D://333.png"); System.out.println(file); } 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(); return in2b; } public static File writeBytesToFile(byte[] b, String outputFile) { File file = null; FileOutputStream os = null; try { file = new File(outputFile); os = new FileOutputStream(file); os.write(b); } catch (Exception var13) { var13.printStackTrace(); } finally { try { if(os != null) { os.close(); } } catch (IOException var12) { var12.printStackTrace(); } } return file; } }
以上是关于HttpURLConnection下载文件流的主要内容,如果未能解决你的问题,请参考以下文章
java中HttpURLConnection利用url获取文件流下载,while循环提前结束?
Android KitKat HttpURLConnection 断开 AsyncTask
为啥android HttpURLConnection 缓存输入流结果?