【问题标题】:Create file if it doesn't exist in Groovy如果 Groovy 中不存在文件,则创建文件
【发布时间】:2016-04-21 15:11:45
【问题描述】:

我有一个 Groovy 脚本,我正在将文件从 url 下载到我的本地机器,就像这样..

URL url = new URL("http://i.imgur.com/pszAeGh.png")
HttpURLConnection urlConn =  url.openConnection()
File pic = new File('/Users/me/Downloads', 'myimage.jpg')
pic.append(urlConn.getInputStream())

如果“myimage.jpg”在“下载”文件夹中不存在,我希望脚本创建它。我该如何指定?现在第 3 行给出了

java.io.FileNotFoundException: /Users/me/Downloads/myimage.jpg (No such file or directory)

其他一些用于 Java 的 posts 建议使用 createNewFile 方法,但 Groovy 即使在尝试创建文件时也会失败。

【问题讨论】:

  • 代码中有/Users/me/Downloads,但错误消息中有/Users/Downloads/me...是哪个?
  • 对不起,这两种情况都应该是 /Users/me/Downloads,我会解决的。

标签: file-io groovy


【解决方案1】:

你应该能够做到:

new File('/Users/me/Downloads', 'myImage.gif').withOutputStream { os ->
    os << new URL("http://i.imgur.com/pszAeGh.png").openStream()
}

假设/Users/me/Downloads 存在

【讨论】:

    猜你喜欢
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 2018-10-09
    • 2012-04-08
    • 2018-02-10
    • 1970-01-01
    相关资源
    最近更新 更多