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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。