15.5 网络IO操作
Kotlin为java.net.URL增加了两个扩展方法,readBytes和readText。我们可以方便的使用这两个方法配合正则表达式实现网络爬虫的功能。
下面我们简单写几个函数实例。
根据 url 获取该 url 的响应 HTML函数
fun getUrlContent(url: String): String {
return URL(url).readText(Charset.defaultCharset())
}
根据 url 获取该 url 响应比特数组函数
fun getUrlBytes(url: String): ByteArray {
return URL(url).readBytes()
}
把 url 响应字节数组写入文件
fun writeUrlBytesTo(filename: String, url: String) {
val bytes = URL(url).readBytes()
File(filename).writeBytes(bytes)
}
下面这个例子简单的获取了百度首页的源代码。
getUrlContent("https://www.baidu.com")
下面这个例子根据 url 来获取一张图片的比特流,然后调用readBytes()方法读取到字节流并写入文件。
writeUrlBytesTo("图片.jpg", "http://n.sinaimg.cn/default/4_img/uplaod/3933d981/20170622/2fIE-fyhfxph6601959.jpg")
在项目相应文件夹下我们可以看到下载好的 “图片.jpg” 。
当前内容版权归 JackChan1999 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 JackChan1999 .