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

📄 downfilesplitter.java

📁 比较简单的一个java网络编程程序
💻 JAVA
字号:
package MTdownload;
import java.awt.*;
import java.io.*;
import java.net.*;
import java.util.*;
public class DownFileSplitter extends Thread{
    String dlURL;
    long startPos;
    long endPos;
    int threaID;
    TextArea textarea = new TextArea();
    boolean stop=false;
    boolean done=false;
    RandomAccessFile file;
    public DownFileSplitter(String dlURL,String saveAs,long startPos,
    		                 long endPos,int threadID,TextArea textarea)
    {
    	this.dlURL=dlURL;
    	this.startPos=startPos;
    	this.endPos=endPos;
    	this.threaID=threadID;
    	this.textarea=textarea;
    	try {
			file = new RandomAccessFile(saveAs,"rw");
			file.seek(startPos);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    }
	public void run()
     {
    	 while(startPos<endPos&&!stop)
    	 {
			try {
				  URL url = new URL(dlURL);
				  HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection();
				  String sProperty ="bytes="+startPos+"-";
				  httpConnection.setRequestProperty("RANGE", sProperty);
				  System.out.println("线程"+threaID+"下载文件...请等待");
				  textarea.append("\n线程"+threaID+"下载文件....");
				  InputStream input = httpConnection.getInputStream();
				  int offset = 0;
				  offset = (int) (endPos-startPos);
				  byte[] buf = new byte[1024];
				  if(offset>1024)
					  offset=1024;
				  while(input.read(buf,0,offset)>0&&!stop)
				  {
					startPos+=offset;
					System.out.println("started "+startPos+" offset: "+offset);
					file.write(buf,0,offset);
					offset = (int) (endPos-startPos);  
					if(offset>1024)
						offset=1024;
				  }
				  System.out.println("线程"+threaID+"下载完毕");
				  done=true;
				  textarea.append("\n"+"线程"+threaID+"下载完毕");
				  file.close();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
    		 
    	 }
     }
}

⌨️ 快捷键说明

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