1

我有一些使用 httpCore util copyURLtoFile() 复制的代码,但我似乎无法在文档中找到任何关于超时的信息,就像使用 httpClient 一样。它拉出的文件不应该拉出,但取决于那是....有趣。

    URL pjmUrl = new URL("myFile");
    File projLoad = new File("projLoad.txt");
    org.apache.commons.io.FileUtils.copyURLToFile(pjmUrl, projLoad);

如果第三行应该超时,则程序无法根据运行时抛出错误或检查 threadInterrupted()

4

3 回答 3

1

您一定正在查看旧的 javadocs。在当前版本 (2.4) 中,这里是copyURLToFile具有两个超时参数的方法的重载:

  public static void copyURLToFile(URL source,
                             File destination,
                             int connectionTimeout,
                             int readTimeout)
                      throws IOException

正如 javadoc 解释的那样,时间单位是毫秒。

参考: https ://commons.apache.org/proper/commons-io/javadocs/api-2.4/org/apache/commons/io/FileUtils.html

于 2012-10-25T13:07:07.127 回答
1

不正确,重载的方法

FileUtils.copyURLToFile(URL source,
                        File destination,
                        int connectionTimeout,
                        int readTimeout)

在最新的 2.4 中不存在。version,尽管该方法在 Javadoc 中列出:

http://commons.apache.org/proper/commons-io/javadocs/api-release/org/apache/commons/io/FileUtils.html#copyURLToFile(java.net.URL,%20java.io.File,% 20int,%20int)

我很确定我使用的是 2.4 版的 Apache commons-io。

PS:我还下载了源(http://www.carfab.com/apachesoftware//commons/io/source/commons-io-2.4-src.zip)以确保上述方法确实不存在(不再存在?) 里面FileUtils.java真的没有这样的方法。

于 2013-03-27T13:51:41.427 回答
0

检查您的 maven 依赖项,您的类路径中可能还有另一个旧版本的 common-io jar。我遇到过同样的问题。

于 2013-11-11T23:53:18.437 回答