zoukankan      html  css  js  c++  java
  • 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;
        }
    
    }
  • 相关阅读:
    Rate Control Mode
    帝国的困境:80-20法则
    ARM NEON 64bit 查找表替换
    Video Brightness Enhancement
    HDR(High Dynamic Range)
    C++ C++
    Machine Learning
    图像处理
    Facial landmark detection
    git
  • 原文地址:https://www.cnblogs.com/yy123/p/7125105.html
Copyright © 2011-2022 走看看