⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 downthread.java

📁 这是一个由本人编写的基于java编写的实现文件下载的应用程序
💻 JAVA
字号:
package download;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class DownThread implements Runnable
  {
	int startPosition;
	 int endPosition;
	 File file;
	 String  url;
	 MultiDownload down;
	 int i;
	 public DownThread(int s,int e,File file,String url,MultiDownload down,int i)
	 {
		 startPosition=s;
		 endPosition=e;
		 this.url=url;
		 this.down=down;
		 this.i=i;
		 this.file=file;
	 }
	 
	 public void run()
	 {try{
		URL  Url=new URL(url);
		HttpURLConnection conn=(HttpURLConnection)Url.openConnection();
		String strValue="bytes="+startPosition+"-";//setResquestPorperty()方法中的参数是固定的格式
		conn.setRequestProperty("RANGE", strValue);//设置连接后下载的请求属性,要求该线程在特定的startPosition开始下载
		InputStream in=conn.getInputStream();
		BufferedInputStream buffer=new BufferedInputStream(in);
		byte[] bytes=new byte[1024];
		FileOutputStream out=new FileOutputStream(file);
		int size=-1;
		int count=0;
		boolean flag=true;
		while(((size=buffer.read(bytes,0,1024))>0)&&flag)
		{
		if(startPosition+size>=endPosition)
		{
			size=endPosition-startPosition;
			if(size==0)
			{flag=false;}
		}
			out.write(bytes, 0,size);
			startPosition+=size;
			count+=size;
		}
		in.close();
		out.close();
		conn.disconnect();
	}catch(MalformedURLException e)
	 {e.printStackTrace();}
	 catch(IOException e)
	 {e.printStackTrace();}
	 
	 down.isStop[i]=true; 
	 }

	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -