Java 根据url下载网络资源

 更新时间:2020年11月24日 10:05:00   作者:Hateyes  
这篇文章主要介绍了Java 根据url下载网络资源的示例代码,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下

URL:统一资源定位符

例如:https://www.baidu.com

URL【统一资源定位符】:定位资源的,定位互联网上的某一个资源。

DNS 域名解析:www.baidu.com【某一域名】指向 39.156.69.79【某一网站空间IP】

URL 组成:协议://ip地址:端口/项目名/资源

package lesson04;

import java.net.MalformedURLException;
import java.net.URL;

/**
 * URL:统一资源定位符
 */
public class URLDemo1 {

 public static void main(String[] args) throws MalformedURLException {
  URL url = new URL("http://localhost:8080/helloworld/index.jsp?username=kuangshen&password=123");
  //协议名
  System.out.println(url.getProtocol());
  //主机名-主机ip
  System.out.println(url.getHost());
  //端口
  System.out.println(url.getPort());
  //地址-文件路径
  System.out.println(url.getPath());
  //文件-全路径
  System.out.println(url.getFile());
  //查询部分-参数
  System.out.println(url.getQuery());
 }

}

URL下载资源

package lesson04;

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

/**
 * URL下载资源
 */
public class URLDown {

 public static void main(String[] args) throws Exception {
  //1、下载地址
  URL url = new URL("https://m10.music.126.net/20201121104035/2c5eb73ce4421a090b62647f6c486e2c/yyaac/obj/wonDkMOGw6XDiTHCmMOi/3625445007/7d37/4109/d0ef/d56e8176f5789a4e6f8b2173ce500bf6.m4a");

  //2、连接到这个资源 HTTP
  HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

  InputStream inputStream = urlConnection.getInputStream();

  FileOutputStream fos = new FileOutputStream("f6.m4a");

  byte[] buffer = new byte[1024];
  int len;
  while ((len = inputStream.read(buffer)) != -1){
   fos.write(buffer, 0, len); //写出这个数据
  }

  //关闭
  fos.close();
  inputStream.close();

  //断开连接
  urlConnection.disconnect();
 }

}

效果一览

以上就是Java 根据url下载网络资源的详细内容,更多关于Java 下载网络资源的资料请关注脚本之家其它相关文章!

相关文章

  • Java获取配置文件的值过程解析

    Java获取配置文件的值过程解析

    这篇文章主要介绍了java获取配置文件的值过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • java线程池ThreadPoolExecutor实现原理详解

    java线程池ThreadPoolExecutor实现原理详解

    这篇文章主要介绍了java线程池ThreadPoolExecutor实现原理详解,ThreadPoolExecutor是线程池实现类,会动态创建多个线程,并发执行提交的多个任务,需要的朋友可以参考下
    2023-12-12
  • 减少代码开发工作的Java库lombok及注解的使用学习

    减少代码开发工作的Java库lombok及注解的使用学习

    不久前发现有一个java第三方库可以在一定程度上帮助我们从体力劳动中解救出来,它就是lombok。它提供了一些简单的注解,并以此来消除java中臃肿的模版代码。本文对于一些常用到的注解做了一个简要的记录,希望有更多的人enjoy it
    2022-07-07
  • Java异步调用转同步的方法

    Java异步调用转同步的方法

    这篇文章主要介绍了Java异步调用转同步的方法,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-12-12
  • IDEA创建Java项目保姆级教程(超详细!)

    IDEA创建Java项目保姆级教程(超详细!)

    这篇文章主要给大家介绍了关于IDEA创建Java项目保姆级教程的相关资料,Java是一种广泛使用的编程语言,广泛用于Web应用程序和客户端应用程序的开发,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • jpa使用注解生成表时无外键问题及解决

    jpa使用注解生成表时无外键问题及解决

    这篇文章主要介绍了jpa使用注解生成表时无外键问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Java打印出所有的水仙花数的实现代码

    Java打印出所有的水仙花数的实现代码

    这篇文章主要介绍了Java打印出所有的水仙花数的实现代码,需要的朋友可以参考下
    2017-02-02
  • 启动SpringBoot报错Input length = 1问题及解决

    启动SpringBoot报错Input length = 1问题及解决

    这篇文章主要介绍了启动SpringBoot报错Input length = 1问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 详解IDEA中Debug的使用和进制转换问题

    详解IDEA中Debug的使用和进制转换问题

    这篇文章主要介绍了IDEA中Debug的使用和进制转换,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • SpringBoot+Prometheus+Grafana实现应用监控和报警的详细步骤

    SpringBoot+Prometheus+Grafana实现应用监控和报警的详细步骤

    这篇文章主要介绍了SpringBoot+Prometheus+Grafana实现应用监控和报警的详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02

最新评论