我有這樣的代碼,下載一個網頁:在Java中,是否可以執行一段時間的方法並在達到時間限制後停止?
HttpURLConnection connection;
private String downloadContent() {
InputStream content;
Source parser;
try {
content = connection.getInputStream(); //<--here is the download
parser = new Source(content);
content.close();
return parser.toString();
} catch (Exception e) {
return null;
}
}
一邊做下載,我試圖讓下載的數據量,如果達到極限,我停止了下載,但我沒有找到一種方法來做到這一點。如果有人知道該怎麼做,請告訴我。
現在我想限制下載時間。例如:如果下載通過20秒,我停止它。我想這樣做是因爲我的程序是一個webcrawler,如果由於錯誤,它開始下載一個大文件,它會停留在下載中,並不是我想要做的,所以按照大小下載過濾器是受歡迎的,但我不知道,過濾時間可以防止這個問題。
通常這樣做是通過**設置超時**。什麼是連接對象? – mre 2011-05-30 23:03:02
我打算回答,但其他人會回答。答案包括創建一個線程來讀取數據,並在超時後中斷或關閉連接返回的數據流。 – 2011-05-30 23:03:25
你在使用什麼庫?它應該爲你提供一個超時方法。 – 2011-05-30 23:05:12