版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA技巧:命令行多线程源代码共享*该程序采纳10线程掌握下载,速度大大提升
*目前支持http协议下载
*切换到文件所在名目中
*在命令行中输入javaDownload5http://...,回车,即可运行程序
*/
importjava.io.*;
import.*;
publicclassDownload5extendsThread
{
privatelongstart;
privatelongend;
privateStringurls,name;
privateintID;
publicDownload5(Stringurls,Stringname,intID,longstart,longend)
{
this.start=start;
this.end=end;
this.urls=urls;
this.ID=ID;
=name;
}
publicvoidrun()
{
try
{
System.out.println(“线程“+ID+“启动...“);
Filefile=newFile(name);
URLurl=newURL(urls);
URLConnectioncon=url.openConnection();
con.setAllowUserInteraction(true);
con.setRequestProperty(“Range“,“bytes=“+start+“-“+end);
RandomAccessFilerand=newRandomAccessFile(file,“rw“);
rand.seek(start);
byte[]b=newbyte[2048];
BufferedInputStreambuffer=newBufferedInputStream(con.getInputStream());
intn=0;
while((n=buffer.read(b,0,b.length))!=-1)
{
rand.write(b,0,n);
}
System.out.println(“线程“+ID+“下载完毕“);
buffer.close();
rand.close();
errupt();
}
catch(Exceptionee)
{
ee.printStackTrace();
}
}
publicstaticvoidmain(String[]args)
{
Stringurls=args[0];
intu=urls.lastIndexOf(’/’);
Stringname=urls.substring(u+1,urls.length());
try
{
longtime=System.currentTimeMillis()/1000;
URLurl=newURL(urls);
URLConnectioncon=url.openConnection();
intfilelength=con.getContentLength();
intnum=10;
intsize=filelength/num;
Download5t=null;
CountTimecount=newCountTime(urls,name,time);
count.start();
for(inti=0;i<num;i++)
{
if(i!=num-1)
{
t=newDownload5(urls,name,i+1,size*i,size*(i+1)-1);
t.start();
}
else
{
t=newDownload5(urls,name,i+1,size*i,filelength);
t.start();
}
}
}
catch(Exceptionee)
{
ee.printStackTrace();
}
}
}
classCountTimeextendsThread
{
privateStringurls,name;
privatelongtime;
publicCountTime(Stringurls,Stringname,longtime)
{
this.urls=urls;
=name;
this.time=time;
}
publicvoidrun()
{
try
{
URLurl=newURL(urls);
URLConnectioncon=url.openConnection();
intfilelength=con.getContentLength();
Filef=newFile(name);
while(f.length()<filelength)
{
longLEN=f.length();
this.sleep(1000);
System.out.println((f.length()-LEN)/1024/1.0+“kb/s“);
}
System.out.println(“文件下载完毕“);
System.out.println(“下载所用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 成瓷检验岗位责任制度
- 手纹责任制度
- 承包工作责任制度
- 投资经理责任制度
- 护理整体化责任制度
- 招标公司责任制度
- 搅拌站防汛责任制度
- 收费员安全责任制度
- 2026六年级数学上册 扇形统计图单元测试
- 教室通风责任制度
- 2026年江西电力职业技术学院单招职业技能考试题库带答案详解
- 2026年常州机电职业技术学院单招职业倾向性考试题库带答案详解(完整版)
- 眉山天府新区2026年上半年公开招聘专职网格管理员(77人)考试参考试题及答案解析
- 统编版(新教材)道德与法治二年级下册第12课见贤要思齐
- 2026年复产复工安全生产部署专题会议纪要
- 出水井施工方案(3篇)
- GB/T 26953-2025焊缝无损检测渗透检测验收等级
- GB/T 10810.1-2025眼镜镜片第1部分:单焦和多焦
- 安全通道防护棚搭设施工方案
- 电工安全教育试卷及答案
- 汽车供应商产品包培训
评论
0/150
提交评论