1

httpCore util copyURLtoFile()を使用してコピーするコードがいくつかありますが、httpClientで実行できたように、ドキュメントでタイムアウトについて何も見つからないようです。プルしているファイルはプルアウトされるべきではありませんが、それに応じて....興味深いです。

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

3行目がタイムアウトした場合、プログラムはランタイムに基づいてエラーをスローしたり、threadInterrupted()をチェックしたりする方法がありません。

4

3 に答える 3

1

You must be looking at old javadocs. In the current release (2.4) here is an overload of the copyURLToFile method that has two timeout parameters:

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

As the javadoc explains, the time unit is milliseconds.

Reference: 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)

Apache commons-io の 2.4 バージョンを使用していることは間違いありません。

PS: ソース ( http://www.carfab.com/apachesoftware//commons/io/source/commons-io-2.4-src.zip )もダウンロードして、上記の方法が実際に存在しないことを確認しました (もう?) でFileUtils.javaあり、実際にはそのようなメソッドはありません。

于 2013-03-27T13:51:41.427 に答える