java連線FTP相關開發

2021-09-19 17:09:09 字數 3782 閱讀 5440

近期要做連線ftp的**開發,老的賬號密碼忘了。所以只能在這裡記載記載,謝謝

直接貼**吧,基本注釋寫的都挺清晰的

#配置位址路徑

public class constants

工具類方法

public class ftpuntil 

public ftpuntil(string ftpip, int port, string ftpname, string ftppwd)

public boolean connect()

// 設定被動模式

ftp.enterlocalpassivemode();

//設定以二進位制方式傳輸

ftp.setfiletype(ftpclient.binary_file_type);

ftp.setcharset(charset.forname("utf-8"));

ftp.setcontrolencoding("utf-8");

} catch (ioexception e)

return true;

}/**

* 建立目錄

** @param subfoldername 目錄資訊

* @return

*/public boolean createdir(string subfoldername)

string arr = subfoldername.split("/");

stringbuffer sbfdir = new stringbuffer();

//迴圈生成子目錄

for (string s : arr)

if (!ftp.makedirectory(d))

system.out.println("[成功]建立ftp目錄:" + sbfdir.tostring());

}//將目錄切換至指定路徑

return ftp.changeworkingdirectory(d);

} catch (exception e)

}/**

* 上傳到指定路徑

** @param uploadname 遠端檔案檔名

* @param localpath 本地檔案路徑

* @return

*/public resp upload(string uploadname, string localpath)

if(!(new file(localpath).exists()))

outputstream os = ftp.storefilestream(uploadname);

fis = new fileinputstream(new file(localpath));

byte b = new byte[1024];

int len = 0;

while ((len = fis.read(b)) != -1)

} catch (exception e) finally

return success("");

}/**

* @param remotepath 遠端位址檔案路徑

* @param localpath 本地檔案路徑

* @return

*/public resp download(string remotepath, string localpath)

ftpfile files =ftp.listfiles(remotepath);

if(files==null || files.length==0)

is = ftp.retrievefilestream(remotepath);

fos = new fileoutputstream(new file(localpath));

byte b = new byte[1024];

int len = 0;

while ((len = is.read(b)) != -1)

}catch (nullpointerexception e) catch (ioexception e) finally

return success("");

}public boolean i***sits(string ftppath)

ftpfile files =ftp.listfiles(ftppath);

if(files!=null&&files.length>0)else

} catch (exception e) catch (exception e1)

system.out.println("重新連線....");

ftp = null;

return i***sits(ftppath);}}

//關閉方法

private void close() catch (ioexception e)

}if (is != null) catch (ioexception e)

}if (os != null) catch (ioexception e)

}if (fis != null) catch (ioexception e)

}if (fos != null) catch (ioexception e) }}

}

這裡一定要注意。因為這裡我們的路徑是包含檔案的字尾的。

具體實現方法

public class ftpservice 

/*** 匯入到ftp指定資料夾

** @param entid ftp賬戶名

* @param requestid 這就是乙個檔案的路徑,主要是為了識別上傳的檔案不重複所以才是全域性唯一

* @param filepath 本地檔案及路徑

* @param entsecret ftp密碼

* @return

*/public object importftp(string entid, string entsecret, string requestid, string filepath)

if (!filepath.endswith(".gz"))

ftp.createdir(constants.ftp_request + entid);

resp resp = ftp.upload(constants.ftp_request + entid + "/" + requestid + constants.gz, filepath);

return resp;

} catch (exception e)

}/**

* ftp匯出到臨時路徑

** @param entid 使用者名稱

* @param requestid 這就是乙個檔案的路徑,主要是為了識別上傳的檔案不重複所以才是全域性唯一

* @param entsecret 密碼

* @return

*/public object exportftp(string entid, string entsecret, string requestid)

resp resp = ftp.download(constants.ftp_response + entid + "/" + requestid + constants.response_gz, constants.local_path + requestid + constants.response_gz);

return resp;

} catch (exception e)

}}

java對ftp的相關操作

2.4 jar commons net 2.2.jar publicclass ftputil publicftputil setconfig stringhost,int port,stringusername,stringpassword 連線ftp伺服器 privateftputil conn...

FTP連線問題

1 替代方法 第一步 啟動 ie7或ie8,在選單欄選擇工具 internet 選項 高階 鉤選 啟用 ftp 資料夾檢視 在internetexplorer之外 核取方塊,然後單擊 確定 2 修改登錄檔 開啟hkey local machine software microsoft interne...

ftp連線原理

關於 ftp 事實上 僅知道如何操作 iptables 工具 還不足以設定好您的防火牆及 nat 您還要對各種 tcp ip 服務都要有相當程度的了才行 您必須知道乙個連線的建立過程是怎樣的 每乙個封包動作是怎樣從一端送到另一端的。您除了要知道每乙個封包的來源和目的位址 還要知道它們的來源埠口和目的...