0
我想下載pdf文件,但源網址太慢。因此,我正在給連接超時例外以下代碼。設置java.net.URLConnection的最大超時時間
try {
URL url = new URL(source);
HttpURLConnection huc = (HttpURLConnection)
url.openConnection();
huc.setConnectTimeout(0); //for unlimited
huc.setReadTimeout(0);
try (InputStream in = huc.getInputStream()) {
Files.copy(in, Paths.get(destination), StandardCopyOption.REPLACE_EXISTING);
}
} catch (IOException e) {
LOGGER.info("Error occured while copying file, %s", e);
return false;
}
我試圖通過轉換爲毫秒但〜130秒之後改變setConnectTimeout和setReadTimeout值0和5分鐘,它拋出連接超時異常。我無法改變這個值。設置讀取和連接超時之後,getConnectionTimeout和getReadTimeout值返回值,我的集合。
另外我試圖將apache庫複製到目標輸入流,但我又收到連接超時異常。
我已經知道,大於15秒的連接不正常,但我想下載文件需要多長時間。
那麼,如何增加這個超時值呢?
_「我已經知道,連接超過15秒大是不正常的,但我想下載文件時,它需要多長時間。」 _ - 的連接和讀取超時值無關與文件需要多長時間下載。連接超時發生在連接建立之前,遠遠早於文件開始下載。連接建立後,連接超時值沒有意義。 –
抱歉誤解,「需要多長時間」是指連接和閱讀的總時間。 –