import open.mis.data.downloadstatus;
import open.mis.data.uploadstatus;
import org.apache.commons.net.printcommandlistener;
import org.apache.commons.net.ftp.ftp;
import org.apache.commons.net.ftp.ftpclient;
import org.apache.commons.net.ftp.ftpfile;
import org.apache.commons.net.ftp.ftpreply;
public continueftp()
@param remote 遠端檔案路徑
@param local 本地檔案路徑
@return 上傳的狀態
@throws ioexception
*/public downloadstatus download(string remote,string local) throws ioexception
//檢查遠端是否存在檔案
ftpfile files = ftpclient.listfiles(new string(remotefilename.getbytes(「gbk」),「iso-8859-1」));
if(files.length == 1)else if(remotesize > localsize)
//嘗試移動檔案內讀取指標,實現斷點續傳
result = uploadfile(remotefilename, f, ftpclient, remotesize);
//如果斷點續傳沒有成功,則刪除伺服器上檔案,重新上傳
if(result == uploadstatus.upload_from_break_failed)
result = uploadfile(remotefilename, f, ftpclient, 0);
}}else
return result;
}/**
start = end + 1;
end = directory.indexof("/",start);
//檢查所有目錄是否建立完畢
if(end <= start)}}
return status;}
public static void main(string args) catch (ioexception e) }}
FTP實現斷點續傳
ftp客戶端實現要建立兩個通道,乙個控制命令通道,讓ftp伺服器知道客戶端要幹什麼,乙個資料傳輸通道。所謂的兩個通道只不過是兩個呼叫了connect函式的連線,只是控制命令通道專門用來傳輸一些字串命令資訊,而資料通道則是用來傳輸檔案。控制命令通道一定是由客戶端向伺服器的連線 預設的埠是21,也可以指...
FTP實現斷點續傳
ftp客戶端實現要建立兩個通道 乙個控制命令通道,讓ftp伺服器知道客戶端要幹什麼,乙個是資料傳輸通道。所謂的兩個通道只不過是兩個呼叫了connect函式的連線,只是控制命令通道專門用來傳輸一些字串命令資訊,而資料通道則是用來傳輸檔案。控制命令通道一定是由客戶端向伺服器的連線 預設的埠是21,也可以...
ftp 檔案斷點續傳
1 ftp 伺服器資訊實體類 public class ftpserverbean param hostname 伺服器位址 public void sethostname string hostname 獲取伺服器端口 return port 返回伺服器端口 public int getport ...