多线程下载文件,基本上要靠essFile这个类,该类可以随机读取文件,下面是我以前写的一个多线程复制文件的例子,希望对你能有帮助:
.ff;
import java.io.*; import ess;
public class Demo{ public static void main(String[] args) throws Exception{ File srcFile=new File("源文件路径"); File=new File("目标文件路径"); /File.createNewFile(); Demo demo=new Demo(); demo.analysisFile(File,4);//4为线程数,你也可以修改为其他数值 } public void analysisFile(File srcFile,File,int threadNum){ int length=(int)srcFile.length(); int splitNum=length%threadNum==0?length/threadNum:length/threadNum+1; int skipPostion=-1; int readNum=0; for(int i=1;i<=threadNum;i++){ if(i!=threadNum){ readNum=i*splitNum; } else{ readNum=length-readNum; }
new SplitFile(File,skipPostion+1,readNum).start(); skipPostion=i*splitNum; } } class SplitFile extends Thread{ private int minPosition; private int maxPosition; private File srcFile; private File; public SplitFile(File srcFile,File,int minPosition,int maxPosition){ this.maxPosition=maxPosition; this.minPosition=minPosition; this.srcFile=srcFile; File; } public void run(){ try{ essFile raf_r=new essFile(srcFile,"rw"); essFile raf_w=new File,"rw"); raf_r.skipBytes(minPosition); raf_w.seek(minPosition); byte[] buf=new byte[1]; int alreadyRec=0; for(int size=0;alreadyRec<=maxPosition&&size!=-1;size=raf_r.read(buf)){ alreadyRec+=size; raf_w.write(buf,0,size); } raf_w.close(); raf_r.close(); System.out.println("总共:"+srcFile.length()+" 文件"+srcFile.getName()+"从:"+minPosition+"开始---复制大小:"+maxPosition+"结束!此刻接收文件大小为:"File.length()); } catch(Exception ex){ ex.printStackTrace(); } } } }
易探云怎么样?易探云是国内一家云计算服务商家,致力香港服务器、国内外服务器租用及托管等互联网业务,目前主要地区为运作香港BGP、香港CN2、广东、北京、深圳等地区。易探云服务器均选择当下热门线路,比如CN2 GIA、BGP线路、CN2线路等,所有云主机支持月付,并且首月优惠,年付优惠,优惠后香港沙田云服务器/独立ip/香港CN2线路,每月仅18元,188元/年。点击进入:易探云官方网站地址1、香港...
官方网站:点击访问90IDC官方网站优惠码:云八五折优惠劵:90IDCHK85,仅适用于香港CLOUD主机含特惠型。活动方案:年付特惠服务器:CPU均为Intel Xeon两颗,纯CN2永不混线,让您的网站更快一步。香港大浦CN2測速網址: http://194.105.63.191美国三网CN2測速網址: http://154.7.13.95香港购买地址:https://www.90idc.ne...
零途云(Lingtuyun.com)新上了香港站群云服务器 – CN2精品线路,香港多ip站群云服务器16IP/5M带宽,4H4G仅220元/月,还有美国200g高防云服务器低至39元/月起。零途云是一家香港公司,主要产品香港cn2 gia线路、美国Cera线路云主机,美国CERA高防服务器,日本CN2直连服务器;同时提供香港多ip站群云服务器。即日起,购买香港/美国/日本云服务器享受9折优惠,新...