我正在構建一個應用程序,我要在手機(移動)上下載大文件,但是如果文件的大小很大,我將得到異常套接字異常斷開的管道。使用java下載大文件
resp.setHeader("Content-length", "" + fileLength);
resp.setContentType("application/vnd.ms-excel");
resp.setHeader("Content-Disposition","attachment; filename=\"export.mpr\"");
FileInputStream inputStream = null;
try
{
inputStream = new FileInputStream(path);
byte[] buffer = new byte[1024];
int bytesRead = 0;
do
{
bytesRead = inputStream.read(buffer, offset, buffer.length);
resp.getOutputStream().write(buffer, 0, bytesRead);
}
while (bytesRead == buffer.length);
resp.getOutputStream().flush();
}
finally
{
if(inputStream != null)
inputStream.close();
}
我同意Etaoin,但我可以下載小文件說abt在kbs,但問題是當文件大小很大。 – angelina 2010-05-13 09:37:24
那麼,文件越大,需要的時間越長,這意味着更可能出現零星問題。例如,如果您的連接平均每十秒重置一次,則一分鐘下載比一秒鐘下載更有可能看到它。 – Etaoin 2010-05-13 09:41:01
謝謝,現在我該如何解決我的問題。我使用grrs連接在手機上下載文件,使用上面提到的代碼。我可以如何解決這個問題。 – angelina 2010-05-13 10:05:09