扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这个事多线程下载一个文件
成都创新互联公司专注于大安市网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供大安市营销型网站建设,大安市网站制作、大安市网页设计、大安市网站官网定制、小程序开发服务,打造大安市网络公司原创品牌,更为您提供大安市网站排名全网营销落地服务。
这个是同时下载多个文件得
希望对你有用,多线程下载这玩意没写过,不过,可以给你个思路,不知正确与否,希望与你有用:
对同一个文件或http建立connection,然后获取整个文件得大小,(只有知道文件大小才能同时使用多线程建立多个连接来分段下载,如果不知道文件大小,想用多线程下载一定要做好线程同步工作,且速度提高不快,而且只能用线程轮流读取同一个输入流,而不能用不同得线程做不同得连接来下载),然后执行数据分段计算,算出每个线程建立连接后需要从哪个偏移量进行下载(需要使用文件得大小除以给定的线程数来算出),之后进行连接,每个线程建立连接后根据算出得下载偏移量将数据指针移到需要下载得位置开始下载,当所有线程下载完毕后再将每个线程下载得文件按下载得前后顺序(这里得顺序意思用一个例子来说明:比如a线程负责下载0到99字节,b线程负责下载100到199字节,c线程下载200到299字节,那么当所有线程下载完毕后需要将先将b线程下载好得文件增加到a线程下载得文件中,再将c线程下载得文件增加到a线程下载得文件中,然后删除b,c线程下载得文件.)合成一个文件.
上面只是我个人意见,不知道是否正确,呵呵.
愿上帝保佑吧.呵呵.
public class Demo3 {
public static void main(String[] args) {
byte a =1;
short b=1;
int c = 1;
long d = 1l;
float e=1f;
double f =1;
char g ='1';
boolean h = true;
System.out.println("byte a ="+a);
System.out.println("short b="+b);
System.out.println("int c ="+c);
System.out.println("long d ="+d);
System.out.println("float e="+e);
System.out.println("double f ="+f);
System.out.println("char g ="+g);
System.out.println("boolean h ="+h);
int x=a%b;
long y = c+d;
boolean z=(b==c);
System.out.println("int x="+x);
System.out.println("long y"+y);
System.out.println("boolean z"+z);
}
}
百度、google搜索 我就是做java的毕业设计也是网上弄来的 有很多地方都可以下载到例如csdn还有源码网有很多。关键还是看你怎么把这些代码组织成自己的
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流