[英]Set timeout on org.apache.commons.io.FileUtils.copyURLToFile?
我有一些使用 httpCore util copyURLtoFile() 復制的代碼,但我似乎無法在文檔中找到任何關於超時的信息,就像使用 httpClient 一樣。 它拉出的文件不應該拉出,但取決於那是....有趣。
URL pjmUrl = new URL("myFile");
File projLoad = new File("projLoad.txt");
org.apache.commons.io.FileUtils.copyURLToFile(pjmUrl, projLoad);
如果第三行應該超時,則程序無法根據運行時拋出錯誤或檢查 threadInterrupted()
您一定正在查看舊的 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
不正確,重載的方法
FileUtils.copyURLToFile(URL source,
File destination,
int connectionTimeout,
int readTimeout)
在最新的 2.4 中不存在。 version ,盡管該方法在 Javadoc 中列出:
我很確定我使用的是 2.4 版的 Apache commons-io。
PS:我還下載了源( http://www.carfab.com/apachesoftware//commons/io/source/commons-io-2.4-src.zip )以確保上述方法確實不存在(不再存在?) 並且在FileUtils.java
里面真的沒有這樣的方法。
檢查您的 maven 依賴項,您的類路徑中可能還有另一個舊版本的 common-io jar。 我遇到過同樣的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.