Scala和html:将图像(* .jpg等)下载到硬盘

时间:2009-11-12 23:15:05

标签: http scala download

我有一个下载和解析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
}

My blog

3 个答案:

答案 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打开新连接并将字节流存储在硬盘中)