Groovy从URL下载图像

Sta*_*ovy 12 url groovy image download

我想知道从这个RUL下载图像的正确方法是:http://www.hidemyass.com/proxy-list/img/port/7018246/1

我尝试下载它的方式,将文件保留为未知格式.我测试的当前代码片段是:

public void download(def address) {

    def file = new FileOutputStream(address.tokenize("/")[-1])
    def out = new BufferedOutputStream(file)
    out << new URL(address).openStream()
    out.close()
}
Run Code Online (Sandbox Code Playgroud)

tim*_*tes 21

这有用吗?我相信它应该:

public void download(def address) {
  new File("${address.tokenize('/')[-1]}.png").withOutputStream { out ->
    out << new URL(address).openStream()
  }
}
Run Code Online (Sandbox Code Playgroud)


小智 11

谢谢蒂姆,我也发现你的答案很有帮助,只是小注意:看起来你还没有关闭网址流.我刚刚开始使用Groovy,我听说它在关闭时关闭了蒸汽,所以我们可以更改代码:

public void download(def address) {
  new File("${address.tokenize('/')[-1]}.png").withOutputStream { out ->
      new URL(address).withInputStream { from ->  out << from; }
  }
}
Run Code Online (Sandbox Code Playgroud)