求JAVA编写网页下载程序代码

来源:百度知道 编辑:UC知道 时间:2024/07/05 13:45:28
要求是满足多线程,最好是整个程序的源代码,
或者能够提供相关技术网站,没办法要做一个多线程网页下载器,
希望各位哥哥姐姐帮帮忙!
这个是我毕设的题目,老师同意在网上寻找源代码,

这个事多线程下载一个文件
http://hi.baidu.com/yinjiubo_java/blog/item/55fe9ffc18c475f9fc037f98.html

这个是同时下载多个文件得
http://www.yuloo.com/jsjks/jsj-java/2008-08-26/112196.html

希望对你有用,多线程下载这玩意没写过,不过,可以给你个思路,不知正确与否,希望与你有用:
对同一个文件或http建立connection,然后获取整个文件得大小,(只有知道文件大小才能同时使用多线程建立多个连接来分段下载,如果不知道文件大小,想用多线程下载一定要做好线程同步工作,且速度提高不快,而且只能用线程轮流读取同一个输入流,而不能用不同得线程做不同得连接来下载),然后执行数据分段计算,算出每个线程建立连接后需要从哪个偏移量进行下载(需要使用文件得大小除以给定的线程数来算出),之后进行连接,每个线程建立连接后根据算出得下载偏移量将数据指针移到需要下载得位置开始下载,当所有线程下载完毕后再将每个线程下载得文件按下载得前后顺序(这里得顺序意思用一个例子来说明:比如a线程负责下载0到99字节,b线程负责下载100到199字节,c线程下载200到299字节,那么当所有线程下载完毕后需要将先将b线程下载好得文件增加到a线程下载得文件中,再将c线程下载得文件增加到a线程下载得文件中,然后删除b,c线程下载得文件.)合成一个文件.

上面只是我个人意见,不知道是否正确,呵呵.
愿上帝保佑吧.呵呵.

1.for(int i=1;i<10;i++){
for