欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java 使用java的URL类通过url下载网络资源

程序员文章站 2022-05-06 08:01:07
...

主要用到的类

  • 地址类: URL
  • http类: HttpURLConnection
  • 输入流: InputStream
  • 输出流: FileOutputStream

上代码

package com.demo01;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Random;

public class TestURL {
    public static void main(String[] args) throws Exception {
    	// 下载地址
        String downURL = "https://dss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=2771978851,2906984932&fm=26&gp=0.jpg";
        // 地址
        URL url = new URL(downURL);
        // 获取文件后缀名
        String[] split = url.getFile().split("\\.");

        // 打开地址
        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

        // 获取流
        InputStream is = urlConnection.getInputStream();

        // 写入流
        Random random = new Random();
        FileOutputStream fos = new FileOutputStream("UrlDown" + random.nextInt(1000) + "." + split[split.length-1]);

        // 写入文件
        byte[] buffer = new byte[1024];
        int len;
        while ((len = is.read(buffer)) != -1) {
            fos.write(buffer,0,len);
        }

        // 关闭流
        fos.close();
        is.close();
        urlConnection.disconnect(); // 断开连接
    }
}