[code=java]
HttpGet httpGet=new HttpGet(downloadUrl);
HttpClient httpClient=new DefaultHttpClient();
HttpResponse httpResponse=httpClient.execute(httpGet);
if(httpResponse.getStatusLine().getStatusCode()==200){
HttpEntity entity=httpResponse.getEntity();
fileSize=(int)entity.getContentLength();
}
[/code]
可以获取文件的大小。
才能判断服务器是否支持文件的分段下载吗?
URLConnection conn = downloadUrl.openConnection();
conn.setAllowUserInteraction(true);
conn.setRequestProperty("Range", "bytes=" + startPos + "-" + endPos);
System.out.println(Thread.currentThread().getName() + " bytes="
+ startPos + "-" + endPos);
String messageString = conn.getHeaderField("Accept-Ranges");
if (!messageString.equals("bytes")) {
System.out.println("--------this server doesn't support ");
} else {
System.out.println("--------this server support");
}
注意一点,在用户没有设置conn.setRequestProperty("Range", "bytes=" + startPos + "-" + endPos);
System.out.println(Thread.currentThread().getName() + " bytes="
+ startPos + "-" + endPos);的时候,都会返回bytes;
判断Accept-Ranges字段
http://blog.csdn.net/liu149339750/article/details/7925874
注意判断http206,和http200,不要过于相信http206,多判断一些不会错。
参见http://www.cnblogs.com/ziyunfei/archive/2012/11/18/2775499.html
这是什么啊〈〉?看不懂啊。