我正在通过 HtmlUnit 从 Web 下载文件。 这是我的(工作)代码的样子:
Page dlPage = client.getPage(url);
FileOutputStream fos = new FileOutputStream(destinationFile);
try
{
IOUtils.copy(dlPage.getWebResponse().getContentAsStream(), fos);
}
catch (Exception ex)
{
ex.printStackTrace();
}
finally
{
fos.close();
}
我想显示下载进度。因此我需要知道文件大小。 Content-Length header 由服务器发送,但问题是我可以在文件下载后读取 header 。 getPage()
方法在文件下载完成之前处于阻塞状态。
有什么方法可以先在 HtmlUnit 中读取响应 header ,然后再读取内容?或者有没有其他方法可以解决这个问题?
谢谢!
最佳答案
您可以使用URLConnection的getContentLength()方法获取连接建立时的长度。
关于java - HtmlUnit:确定文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47496551/