📄 transferbothdl.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 + -