前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >java 通过 URL 和 URLConnection 访问网页资源

java 通过 URL 和 URLConnection 访问网页资源

作者头像
Cell
发布于 2022-02-25 08:41:40
发布于 2022-02-25 08:41:40
1.1K0
举报
文章被收录于专栏:Cell的前端专栏Cell的前端专栏

该例中首先生成一个 URL 对象 lrh,指向 RUI 豪小栈,然后再调用 lrh.openStream() 方法生成该 URL 的一个输入流,这是一个字节流,在此基础上进一步通过 InputStreamReader 和 BufferedReader 构造一个带缓冲功能的字符流,并通过这个字符流对象读取该 URL 的 html 内容,进而输出到桌面文件和控制台屏幕。URLConnection 类也可以用来对由 URL 引用的资源进行读写操作,前提是先通过 connect() 方法建立连接,然后再去获取响应头信息或响应内容。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

package cn.lruihao.base; import java.io.BufferedReader; import java.io.File; import java.io.FileWriter; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; public class URLReader { public static void main(String[] args) throws Exception{ try { URL lrh=new URL("https://www.lruihao.cn"); File file=new File("C:\\Users\\李瑞豪、\Desktop\\lrh.html"); FileWriter fout=new FileWriter(file); BufferedReader in =new BufferedReader(new InputStreamReader(lrh.openStream()));//字节流转化成字符流,再构建缓冲字符流 String inputLine; while((inputLine=in.readLine())!=null) { System.out.println(inputLine); fout.write(inputLine); } in.close(); fout.close(); //获取响应 header 信息 URLConnection conn=lrh.openConnection(); conn.connect(); System.out.println("获取到的响应长度:"+conn.getContentLength()); System.out.println("响应类型:"+conn.getContentType()); //用 BufferedReader 读取 URL 的响应 in =new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; String result=null; while((line=in.readLine())!=null) { result+=line; } System.out.println(result); } catch (Exception e) { e.printStackTrace(); } } }

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-05-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
日期时间之争:Date与LocalDateTime的决胜局
时间是计算机科学和应用开发中的一个关键概念,正确处理日期和时间对于应用程序的功能和准确性至关重要。Java中有多种日期时间类可供选择,其中包括传统的Date类和较新的LocalDateTime类。本文将带您进入这两个类的世界,解释它们的不同之处,以及如何在Java中使用它们。无论您是Java新手还是有经验的开发人员,都会在这篇博客中找到有关处理日期和时间的宝贵知识。
一只牛博
2025/05/31
800
校验两个Java Date是不是同一天的N种姿势
本文将介绍比较两个 java.util.Date 对象是不是代表同一天的N种姿势。
明明如月学长
2021/08/31
2.3K0
Java8日期类的一个具体应用案例
最近拜读了一篇不错的文章原文:http://lrwinx.github.io/2017/03/04/%E7%BB%86%E6%80%9D%E6%9E%81%E6%81%90-%E4%BD%A0%E7%9C%9F%E7%9A%84%E4%BC%9A%E5%86%99java%E5%90%97/
明明如月学长
2021/08/27
4170
Java日期处理:格式化、算相差天数、处理日期区间、获当前时间
Java 开发中,日期和时间操作重要。本文剖析 Java 日期处理技巧,如格式化、算天数差、处理区间及用 Calendar 获当前时间。有代码示例解析,助开发者掌握技能并在项目中运用。
Yeats_Liao
2025/01/01
2950
Java日期处理:格式化、算相差天数、处理日期区间、获当前时间
Java时间日期库java.time:什么是java.time包?如何替代旧的Date与Calendar?
在本文中,猫头虎将带你全面了解java.time包的核心特性、使用方法,以及如何用它替代旧的Date与Calendar类,帮助你轻松处理时间与日期问题。 🚀
猫头虎
2024/12/24
2410
一起来学SpringBoot | 第二十八篇:JDK8 日期格式化
在 JDK8 中,一个新的重要特性就是引入了全新的时间和日期API,它被收录在 java.time 包中。借助新的时间和日期API可以以更简洁的方法处理时间和日期。
battcn
2018/10/18
1.4K0
Java时间处理神器之Joda-Time
以前总觉得在Java里面处理各种日期转换很麻烦,虽然我也封装过一些工具包,但是总体感觉还是不够完美,也使用过一些开源的apachecommons里面的时间处理工具类感觉还是不够灵活和强大。 第一次与Joda-Time有一面之缘的时候,是在我使用ELK框架给公司做日志收集分析检索系统的时候,我发现使用jruby重写的logstash里面使用的时间处理工具类是joda-time,当时就对这个框架有点好奇,只不过没太注意,至于为什么会发现?相信搞过ELK的都知道logstash的时间处理比较独特,或者说不了解的情
我是攻城师
2018/05/14
2.4K0
“干掉” Date,Java8 LocalDate 简直不能贼香,赶紧来艿一口~
伴随 lambda表达式、streams 以及一系列小优化,Java 8 推出了全新的日期时间API。
芋道源码
2020/06/04
2.3K0
jdk8获取当前时间|时间加减|java8时间格式化|时间处理工具|时间比较|线程安全的时间处理方法
在很久之前,我总结了一些jdk7版本之前的关于时间处理的一些公共方法,日期转换成字符串、指定时间加上指定天数后的日期、获取上周周一时间 等等;具体的可以戳链接查看完整的:https://blog.csdn.net/qq_27471405/article/details/79523556
小小鱼儿小小林
2020/06/24
7.5K0
jdk8获取当前时间|时间加减|java8时间格式化|时间处理工具|时间比较|线程安全的时间处理方法
Java 8 新特性|(新)日期API_本地日期时间
1、 非线程安全:java.util.Date 并不是线程安全的。开发者在使用这个类时必须自己处理多线程并发问题。
Java小技巧
2022/05/23
3620
java8的日期API总结(JSR310)
有了 java.util.Date 又搞出个java.sql.Date,改个名字不行?
pollyduan
2019/11/04
1K0
Java8新特性之日期处理
伴随 lambda表达式、streams 以及一系列小优化,Java 8 推出了全新的日期时间API。
二哥聊运营工具
2021/12/17
1.3K0
Java8新特性之日期处理
Java 时间处理
在标准 Java 类库中包含一个 Date 类。它的对象表示一个特定的瞬间,精确到毫秒。
帅飞
2019/01/22
2.3K0
18个Java8日期处理的实践,对于程序员太有用了!
Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API。
Java架构师进阶技术
2020/01/20
9700
18个Java8日期处理的实践,对于程序员太有用了!
【Java8新特性】06 新的日期和时间:LocalDate LocalTime LocalDateTime
java.util.Date类是Jdk 1.0引入的,易用性非常糟糕,比如年份的起始是1900年,月份的起始是0。比如要表示2019年6月18日,创建一个Date实例:
爱笑的架构师
2020/09/24
1.3K0
【Java8新特性】06 新的日期和时间:LocalDate LocalTime LocalDateTime
【Java 基础篇】Java Date 类详解:日期和时间操作的利器
在 Java 编程中,处理日期和时间是一项常见但复杂的任务。Java 提供了许多用于日期和时间操作的类,其中 java.util.Date 类是最早的日期和时间类之一。然而,它存在一些问题,因此 Java 8 引入了 java.time 包,其中包含了 java.time.LocalDate、java.time.LocalTime 和 java.time.LocalDateTime 等新的日期时间类。这些新类提供了更多的功能和更好的可读性,使日期和时间处理变得更加方便。本篇博客将详细介绍 Java 中的 java.time 包,重点关注 LocalDate、LocalTime 和 LocalDateTime 类的使用。
繁依Fanyi
2023/10/12
1.4K0
【Java 基础篇】Java Date 类详解:日期和时间操作的利器
【Java 基础篇】Java Calendar 类:日期和时间处理指南
在 Java 中,日期和时间的处理是常见的任务之一。为了更灵活地处理日期和时间,Java 提供了 java.util.Calendar 类,它提供了一种面向对象的方式来操作日期和时间。本篇博客将详细介绍 Calendar 类的使用方法,特别是面向基础小白的读者。
繁依Fanyi
2023/10/12
1.9K0
【Java 基础篇】Java Calendar 类:日期和时间处理指南
Java日期计算常用方法《简述版》
总的来说,Java 8 引入的java.time包提供了更为方便和灵活的日期计算方式,避免了以前java.util.Calendar的繁琐操作。根据需要,选择适合的日期类和方法来执行日期计算和操作。
猫头虎
2024/04/07
1500
如何使用Java计算两个日期之间的天数
在Java中,可以通过多种方式计算两个日期之间的天数。以下将从使用Java 8的日期和时间API、使用Calendar类和使用Date类这三个角度进行详细介绍。
很酷的站长
2023/09/24
6K0
如何使用Java计算两个日期之间的天数
Java中获取年份月份的方法
在Java编程中,日期和时间处理是常见的需求之一。无论是记录日志、处理用户生日、计算到期时间还是生成报表,日期时间都是不可或缺的一部分。正确地处理日期时间对于确保应用程序的准确性和可靠性至关重要。
王也518
2024/04/25
5660
推荐阅读
相关推荐
日期时间之争:Date与LocalDateTime的决胜局
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档