1 / 3
文档名称:

Java多线程下载文件.pdf

格式:pdf   页数:3
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Java多线程下载文件.pdf

上传人:紫岑旖旎 2012/9/15 文件大小:0 KB

下载得到文件列表

Java多线程下载文件.pdf

文档介绍

文档介绍:柳波廊坊师范学院五期信息技术提高班
用文字梳理生命让分享联动你我使知识创造价值
[置顶] Java多线程下载文件
分类: JAVA基础 2012-02-29 00:19 529人阅读评论(8) 收藏举报
文件下载采用多线程方式能够充分利用CPU资源,关键点是设置线程的读取开
始和结束位置。下面的代码,采用线程池启动10个线程来执行下载。
import ;
import ;
import ;
import .HttpURLConnection;
import .URL;
import .URLConnection;
import ;
import ;
import ;
public class FileDownLoadTest {
private static final int TCOUNT = 10;
private CountDownLatch latch = new CountDownLatch(TCOUNT);
private pleteLength = 0;
private long fileLength;
/**
* ***@param args
* ***@throws Exception
*/
public static void main(String[] args) throws Exception {
new FileDownLoadTest().download("http://localhost:8080/test/");
}
public void download(String address) throws Exception{
ExecutorService service = (TCOUNT);
URL url = new URL(address);
= ();
("Referer", "");
fileLength = ();
long packageLength = fileLength/TCOUNT;
long leftLength = fileLength%TCOUNT;
essFile file = new essFile("d:\\","rw");
//计算每个线程请求文件的开始和结束位置
long pos = 0;
long endPos = pos + packageLength;
for(int i=0; i<TCOUNT; i++){
if(leftLength >0){
endPos ++;
leftLength--;
}