我的应用程序需要下载大文件。一段时间后,我得到

java.net.SocketException: Connection timed out


我相信是因为该设备即将进入睡眠或wifi状态。

那么我该如何处理呢?我希望该用户无论花费多少时间都可以下载大文件。

使用以下命令完成文件下载:

HttpURLConnection con =  (HttpURLConnection) new URL(uriToFile).openConnection();
con.connect();

FileOutputStream fileOutput = new FileOutputStream(file);
InputStream inputStream = con.getInputStream();

byte[] buffer = new byte[1024];
int bufferLength = 0;

while ((bufferLength = inputStream.read(buffer)) > 0) {

    fileOutput.write(buffer, 0, bufferLength);

}

fileOutput.close();


谢谢。

最佳答案

您只能通过重试连接来处理它。您可以将默认连接超时降低约75秒,但不能提高默认值。

07-26 08:20