Java多线程下载文件实例详解
本文实例为大家分享了Java多线程下载文件的具体代码,供大家参考,具体内容如下
importjava.io.File; importjava.io.InputStream; importjava.io.RandomAccessFile; importjava.net.HttpURLConnection; importjava.net.URL; publicclassMulThreadDownload{ publicstaticvoidmain(String[]args)throwsException{ Stringpath="http://192.168.1.100:8080/Hello/Big.exe"; newMulThreadDownload().download(path,3); } /** *下载文件 * *@parampath *网络文件路径 *@paramthreadSize *线程数 *@throwsException */ privatevoiddownload(Stringpath,intthreadSize)throwsException{ URLurl=newURL(path); HttpURLConnectionconnection=(HttpURLConnection)url.openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(5000); if(connection.getResponseCode()==200){ intlength=connection.getContentLength();//获取网络文件长度 Filefile=newFile(getFileName(path)); //在本地生成一个长度与网络文件相同的文件 RandomAccessFileaccessFile=newRandomAccessFile(file,"rwd"); accessFile.setLength(length); accessFile.close(); //计算每条线程负责下载的数据量 intblock=length%threadSize==0?length/threadSize:length /threadSize+1; for(intthreadId=0;threadId以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。