我有一个下载和解析html的Scala程序。我从html获得了图像文件的链接,现在我需要将这些图像传输到我的硬盘。我想知道我应该使用什么最好的Scala方法。
我的连接代码:
import java.net._
import java.io._
import _root_.java.io.Reader
import org.xml.sax.InputSource
import scala.xml._
def parse(sUrl:String) = {
var url = new URL(sUrl)
var connect = url.openConnection
var sorce:InputSource = new InputSource
var neo = new TagSoupFactoryAdapter //load sUrl
var input = connect.getInputStream
sorce.setByteStream(input)
xml = neo.loadXML(sorce)
input.close
}
答案 0 :(得分:3)
然后你可能想看看java2s。虽然解决方案是普通的Java,但您仍然可以修改Scala语法以“只使用它”
答案 1 :(得分:2)
另一种选择是使用更清洁的系统命令
import sys.process._
import java.net.URL
import java.io.File
object Downloader {
def start(location: String) : Unit = {
val url = new URL(location)
var path = url match {
case UrlyBurd(protocol, host, port, path) => (if (path == "") "/" else path)
}
path = path.substring(path.lastIndexOf("/") + 1)
url #> new File(path) !!
}
}
object UrlyBurd {
def unapply(in: java.net.URL) = Some((
in.getProtocol,
in.getHost,
in.getPort,
in.getPath
))
}
答案 2 :(得分:0)
实现这一目标的一种方法是:收集图像的URL并向服务器请求它们(使用图像URL打开新连接并将字节流存储在硬盘中)