0
我試圖從網站上下載圖片......它在本地很好用......但是當applet通過網絡瀏覽器運行時,它會被切斷。例如,它下載的圖像很好,但在460-500左右...圖像下載突然停止。Java - url超時
下面是我使用的是什麼:
for (int i = 0; i < NUM_TILES; i++) {
try {
System.out.println("Downloading tile " + i + " of "+NUM_TILES);
File outputFileLocation = new File (System.getenv("APPDATA") + "\\.mystik\\tiles\\t"+i+".png");
String imgURL="line_tile/t"+i+".png";
URL urlItem = new URL(imgURL);
Image imageBR = ImageIO.read(urlItem);
BufferedImage cpimg=(BufferedImage) imageBR;
ImageIO.write(cpimg, "png", outputFileLocation);
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
System.out.println("Tiles downloaded!");
爲什麼切斷?
我認爲你可能是正確的Stephen ......並且通常的補救措施是在工作線程上執行下載(或實際上任何「潛在的長時間運行的進程」),在後臺釋放EDT以響應瀏覽器......所以它不會因爲它在「死亡」的假設而殺死你的applet,因爲它在timout限制內「沒有響應」。 – corlettk 2011-05-14 07:12:32
是的,我檢查了控制檯。它在大約400後隨機停止並加載正常。缺少的瓷磚顯示爲白色。 – nn2 2011-05-14 07:21:17
所以,你說的是在加載tile開始之前做'Thread.sleep(10000)'? – nn2 2011-05-14 07:22:01