可以直接通过HttpURLConnection 的getContentLength()方法来获取下载文件的大小。
//找到要下载的文件
url=new URL( "http://www.baidu.com/uploadfile/oracle.txt");
//根据响应获取文件大小
HttpURLConnection urlcon=(HttpURLConnection)url.openConnection();
//获取相应的文件长度
fileLength=urlcon.getContentLength();
备注:以上方法中url变换即可,下面的方法不用变更,即可获取到对应下载文件的大小。
url=new URL( "http://211.64.201.201/uploadfile/nyz.mp3 ");
HttpURLConnection urlcon=(HttpURLConnection)url.openConnection();
//根据响应获取文件大小
fileLength=urlcon.getContentLength();
url = new URL("http://www.baidu.com">http://www.baidu.com");
ulc = (HttpURLConnection)url.openConnection();
TotalSize = Long.parseLong(ulc.getHeaderField("Content-Length"));
用Sniffer监控一下迅雷的通信协议
远程文件的大小服务器端不给你发过来的话你是不知道的。你接受文件时只能知道自己接受了多少字节。而整个文件的大小是在和服务器端连接时就发送过来的。