网页读取数据,以及输入输出流的代码收集
来源:互联网 发布:淘宝运营pdf 编辑:程序博客网 时间:2024/05/16 17:56
本人第一篇博客,简陋之处敬请谅解!!!
本篇主要讨论一下 InputStream 和 OutputStream的用法,和如何利用HttpURLConnection获取网页数据
最近经常会遇到json串的解析,而很多json串都是从三方的网站获取的。所以我们首先就得知道如何从网页上获取这些数据:
这里就要用到HttpURLConnection类
在说这个类之前,我们首先要定义一个URL对象URL url=new URL("网址");
如图所示,HttpURLConnection类为抽象类,所以初始化的时候我们一般会用URL (统一资源定位符)的openConnection()方法,此方法的源码解释为“返回一个指向当前URL所涉及到的资源的新的连接”。<下图>
在这里,我们已经得到了资源的连接,然后通过此连接的getInputStream() 方法,获得一个InputStream字节流对象;
有了字节流对象, 我们就可以通过inputStream得到String类型的数据了。
InputStream和OutputStream
下面开始说InputStream,InputStream为一字节流,通常在操作的时候我们通常会把它转化为字符流,我们通常用InputStreamReader的有参构造方法进行实例化 <下图>
得到的数据为InputStreamReader字符读取流,我们已经直接可以使用此InputStreamReader了,但是为了程序的高效方面,我们把字符读取流加入到字符串缓冲流(BufferedReader)中,通过new BufferedReader(InputStreamReader inputStreamReader)方法实例化BufferedReader缓冲流,从而创建一个BufferedReader对象 reader。
然后我们调用reader的readLine()方法,此readLine()是对字符流一行一行的读取,我们将每次读取的一行都赋值给一个新的字符变量。当readLine()方法读取结束时,将会返回null值,至此读取完毕!
我们将每次读取的一行字符保存到事先声明的StringBuilder对象,StringBuilder为一可无限增长的类似字符串类型,它的主要方法是append(),这样当读取结束的时候,所读取的每行数据都保存到了StringBuilder对象中,然后我们直接调用StringBuilder的toString()方法即可得到网页的数据。
当然最后要依次关闭流!!
对于 OutputStream,我们一般在保存文件的时候用到,它的基本格式与InputStream相差无几,也是读取字符串,然后转化为字节流,根据write()方法写入到File文件,代码如下所示:
其它主要代码如下图所示:
- 网页读取数据,以及输入输出流的代码收集
- 一些个性网页代码的收集
- 网页代码收集
- 用 Python 的输入输出功能读取和写入数据
- 用 Python 的输入输出功能读取和写入数据
- 用 Python 的输入输出功能读取和写入数据
- 用 Python 的输入输出功能读取和写入数据
- java读取网页代码的方法
- 【IO流】DataOutputStream DataInputStream 数据输入输出流 用于读取二进制
- 网页上读取远程xml的数据
- 网页上读取远程xml的数据
- 网页上读取远程xml的数据
- SqlDataReader读取数据的代码
- 读取控制台输入输出流
- 输入输出流的总结以及toyCode
- 安卓代码中常用的代码以及问题收集
- Socket读取网页数据.
- 网页自动跳转代码收集
- 编译C连接MySQL 提示 error while loading shared libraries: libmysqlclient.so.
- 【NOI2014】购票
- jsp、Html页面注释的种类
- 贝贝网问鼎母婴电商 用户信任是核心资产
- 黑科技/隐性科技展望(外篇)
- 网页读取数据,以及输入输出流的代码收集
- caffe solver解释
- java中的缓存思想与相应的设计模式
- vim使用
- 根据《LDA漫游指南》来对gibbsLDA++结果进行分析
- 学习OC前的一些需要掌握的c语言
- 飛飛(七十六)OOP版电子词典
- appium 定位分析和实例
- UE4学习之路之项目导出指定场景