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

📄 transferbothdl.java

📁 java实现的ftp文件传输
💻 JAVA
字号:
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.net.ftp.FTPClient;

public class TransferBothDL extends Thread{
	FTPClient ftpdl;
	int flag_stop;
	WByte wbyte1;
	WByte wbyte2;
	WByte wbyte3;
	WByte wbyte4;
	InputStream findl;
	BufferedInputStream bindl;
	String path;
	long waitdl;
	TransferBothDL(WByte wbyte1,WByte wbyte2,WByte wbyte3,WByte wbyte4,FTPClient ftpdl,String path) throws IOException{
		flag_stop = 0;
		waitdl = 0;
		this.wbyte1 = wbyte1;
		this.wbyte2 = wbyte2;
		this.wbyte3 = wbyte3;
		this.wbyte4 = wbyte4;
		this.path = path;
		this.ftpdl = ftpdl;
		try{
			findl = ftpdl.retrieveFileStream(path);
			bindl = new BufferedInputStream(findl);
		}catch(Exception e){
			System.out.println("error occur when open stream in download.");
		}
	}

//	下载到缓冲区
	public void run(){		
	 	while(flag_stop != 1){
//	 		if(wbyte1.flag_busy == 0 && wbyte1.flag_empty == 1){
	 		if(wbyte1.flag_empty == 1){
	 			try{
//	 				System.out.println("buf1 is downloading.");
//	 				wbyte1.flag_busy = 1;
	 				wbyte1.length = bindl.read(wbyte1.buf,0,wbyte1.bufsize);
//	 				buf1dlnum++;
	 				if(wbyte1.length == -1){
	 					flag_stop = 1;
	 					wbyte1.flag_over = 1;
//	 					break;
	 				}
	 				wbyte1.flag_empty = 0;
//	 				wbyte1.flag_busy = 0;
	 			}catch(Exception e){
	 				e.printStackTrace();
	 				System.out.println("error occur when buf1 is downloading.");
	 			}
	 		}
//	 		if(wbyte2.flag_busy == 0 && wbyte2.flag_empty == 1){
	 		if(wbyte2.flag_empty == 1){
	 			try{
//	 				System.out.println("buf2 is downloading.");
//	 				wbyte2.flag_busy = 1;
	 				wbyte2.length = bindl.read(wbyte2.buf,0,wbyte2.bufsize);
	 				if(wbyte2.length == -1){
	 					flag_stop = 1;
	 					wbyte2.flag_over = 1;
//	 					break;
	 				}
	 					wbyte2.flag_empty = 0;
//	 					wbyte2.flag_busy = 0;
	 				}catch(Exception e){
	 					System.out.println("error occur when buf2 is downloading.");
	 				}
	 		}
//	 		if(wbyte3.flag_busy == 0 && wbyte3.flag_empty == 1){
	 		if(wbyte3.flag_empty == 1){
	 			try{
//	 				System.out.println("buf3 is downloading.");
//	 				wbyte3.flag_busy = 1;
	 				wbyte3.length = bindl.read(wbyte3.buf,0,wbyte3.bufsize);
	 				if(wbyte3.length == -1){
	 					flag_stop = 1;
	 					wbyte3.flag_over = 1;
//	 					break;
	 				}
	 					wbyte3.flag_empty = 0;
//	 					wbyte3.flag_busy = 0;
	 				}catch(Exception e){
	 					System.out.println("error occur when buf3 is downloading.");
	 				}
	 		}
//	 		if(wbyte4.flag_busy == 0 && wbyte4.flag_empty == 1){
	 		if(wbyte4.flag_empty == 1){
	 			try{
//	 				System.out.println("buf4 is downloading.");
//	 				wbyte4.flag_busy = 1;
	 				wbyte4.length = bindl.read(wbyte4.buf,0,wbyte4.bufsize);
	 				if(wbyte4.length == -1){
	 					flag_stop = 1;
	 					wbyte4.flag_over = 1;
//	 					break;
	 				}
	 					wbyte4.flag_empty = 0;
//	 					wbyte4.flag_busy = 0;
	 				}catch(Exception e){
	 					System.out.println("error occur when buf4 is downloading.");
	 				}
	 		}
//	 		System.out.println("DL do nothing.");
	 		waitdl++;
	 	}
	 	try{
	 		findl.close();
	 		bindl.close();
	 	}catch(Exception e){
	 		System.out.println("error occur when close stream in download");
	 	}
	}
}

⌨️ 快捷键说明

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