Apache Web 服务器获取 - 文件大小
Apache Web Server Get - File Size
我想访问本地 Apache Web 服务器及其文件,比方说,http://foo.com/cats.jpg
我不希望我的客户端看到图像,而是接收数据、显示其文件大小和数据传输持续时间并刷新文件。我如何使用 Java HTTP 代码来实现?
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://foo.com/cats.jpg");
HttpResponse response = client.execute(request);
// Get the response but don't show the content, just file size and duration of data transfer
感谢您的帮助!
当您执行 html get
操作时,它会 returns 响应。该响应包含包含重要信息的 header 以及内容(在本例中为 .jpg 文件)。 header可以告诉你长度,mime-type等。如果你需要显示文件长度,你可以使用
response.getLastHeader("Content-Length").getValue()
要确定数据传输花费了多长时间,只需在您想要计时的操作前后调用 System.currentTimeMillis()
,然后减去它们即可知道操作花费了多少毫秒。例如:
long start = System.currentTimeMillis();
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://foo.com/cats.jpg");
HttpResponse response = client.execute(request);
String size = response.getLastHeader("Content-Length").getValue();
long end = System.currentTimeMillis();
System.out.println("It took "+(end-start)+" milliseconds and the file is "+
size+" bytes long");
我想访问本地 Apache Web 服务器及其文件,比方说,http://foo.com/cats.jpg
我不希望我的客户端看到图像,而是接收数据、显示其文件大小和数据传输持续时间并刷新文件。我如何使用 Java HTTP 代码来实现?
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://foo.com/cats.jpg");
HttpResponse response = client.execute(request);
// Get the response but don't show the content, just file size and duration of data transfer
感谢您的帮助!
当您执行 html get
操作时,它会 returns 响应。该响应包含包含重要信息的 header 以及内容(在本例中为 .jpg 文件)。 header可以告诉你长度,mime-type等。如果你需要显示文件长度,你可以使用
response.getLastHeader("Content-Length").getValue()
要确定数据传输花费了多长时间,只需在您想要计时的操作前后调用 System.currentTimeMillis()
,然后减去它们即可知道操作花费了多少毫秒。例如:
long start = System.currentTimeMillis();
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://foo.com/cats.jpg");
HttpResponse response = client.execute(request);
String size = response.getLastHeader("Content-Length").getValue();
long end = System.currentTimeMillis();
System.out.println("It took "+(end-start)+" milliseconds and the file is "+
size+" bytes long");