基于commons-net實(shí)現(xiàn)ftp創(chuàng)建文件夾、上傳、下載功能.
2018-07-20 來(lái)源:open-open

基于commons-net實(shí)現(xiàn)ftp創(chuàng)建文件夾、上傳、下載功能.
FtpClientUtil
FtpTest
FtpClientUtil
package com.demo.ftp; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ConnectException; 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.FTPReply; /** * @author wobendiankun 2015-1-8 下午08:11:08 */ public class FtpClientUtil { /** * ftp服務(wù)器地址 */ private String server; /** * 端口 */ private int port; /** * 用戶名 */ private String username; /** * */ private String password; public FtpClientUtil () { server = "localhost"; port = 21; username = "kun"; password = "111111"; } public FtpClientUtil(String server, int port, String username, String password) { this.server = server; this.port = port; this.username = username; this.password = password; } /**上傳文件 * @param remoteFileName 遠(yuǎn)程文件名稱 * @param locaFileName 本地文件名稱 */ public void upload(String remoteFileName,String locaFileName){ FTPClient ftp=null; try { ftp = new FTPClient(); ftp.addProtocolCommandListener( new PrintCommandListener( new PrintWriter( System.out ), true ) ); //連接ftp服務(wù)器 connect( ftp ); //設(shè)置屬性 setProperty( ftp ); //上傳文件 upload( ftp, remoteFileName, locaFileName ); //退出 logout( ftp ); } catch (Exception e) { e.printStackTrace(); }finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException f) { } } } } /**上傳文件 * @param remoteFileName 遠(yuǎn)程文件名稱 * @param locaFileName 本地文件名稱 */ public void download(String remoteFileName,String locaFileName){ FTPClient ftp=null; try { ftp = new FTPClient(); ftp.addProtocolCommandListener( new PrintCommandListener( new PrintWriter( System.out ), true ) ); //連接ftp服務(wù)器 connect( ftp ); //設(shè)置屬性 setProperty( ftp ); //下載文件 download( ftp, remoteFileName, locaFileName ); //退出 logout( ftp ); } catch (Exception e) { e.printStackTrace(); }finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException f) { } } } } /**創(chuàng)建文件夾 * @param remotePathName 遠(yuǎn)程文件夾名稱 */ public void mkdir(String remotePathName) { FTPClient ftp=null; try { ftp = new FTPClient(); ftp.addProtocolCommandListener( new PrintCommandListener( new PrintWriter( System.out ), true ) ); //連接ftp服務(wù)器 connect( ftp ); //設(shè)置屬性 setProperty( ftp ); //創(chuàng)建文件夾 mkdir( ftp, remotePathName); //退出 logout( ftp ); } catch (Exception e) { e.printStackTrace(); }finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException f) { } } } } /** * @param ftp * @param remotePathName */ private void mkdir(FTPClient ftp, String remotePathName) throws Exception{ ftp.makeDirectory(remotePathName); } /** * @param ftp * @param remoteFileName * @param locaFileName */ private void download(FTPClient ftp, String remoteFileName, String locaFileName) throws Exception{ OutputStream output=null; output = new FileOutputStream(locaFileName); ftp.retrieveFile(remoteFileName, output); output.close(); } /** * @param ftp * @throws Exception */ private void setProperty(FTPClient ftp) throws Exception { ftp.enterLocalPassiveMode(); //二進(jìn)制傳輸,默認(rèn)為ASCII ftp.setFileType(FTP.BINARY_FILE_TYPE); } /** * @param ftp */ private void logout(FTPClient ftp) throws Exception{ ftp.noop(); ftp.logout(); } /** * @param ftp * @param remoteFileName * @param locaFileName */ private void upload(FTPClient ftp, String remoteFileName, String locaFileName) throws Exception{ //上傳 InputStream input; input = new FileInputStream(locaFileName); ftp.storeFile(remoteFileName, input); input.close(); } /** * @param ftp */ private void connect(FTPClient ftp) throws Exception{ //連接服務(wù)器 ftp.connect( server, port); int reply = ftp.getReplyCode(); //是否連接成功 if ( !FTPReply.isPositiveCompletion( reply ) ) { throw new ConnectException( server+" 服務(wù)器拒絕連接" ); } //登陸 if (!ftp.login(username, password)) { throw new ConnectException( "用戶名或密碼錯(cuò)誤" ); } } }
FtpTest
package com.demo.ftp; /** * @author wobendiankun 2015-1-8 下午08:34:36 */ public class FtpTest { public static void main(String[] args) { //上傳文件 //upload(); //下載文件 //download(); //創(chuàng)建文件夾 mkdir(); } /** * */ private static void mkdir() { FtpClientUtil clientUtil=new FtpClientUtil(); clientUtil.mkdir("test"); } /** * */ private static void download() { String remoteFileName="./111.txt"; String locaFileName="F:\\test\\txt\\3333.txt"; FtpClientUtil clientUtil=new FtpClientUtil(); clientUtil.download(remoteFileName, locaFileName); } /** * */ private static void upload() { String remoteFileName="./111.txt"; String locaFileName="F:\\test\\txt\\aaa.txt"; FtpClientUtil clientUtil=new FtpClientUtil(); clientUtil.upload(remoteFileName, locaFileName); } }
標(biāo)簽: ftp服務(wù)器 ftp服務(wù)器地址 isp 服務(wù)器 服務(wù)器地址 連接ftp服務(wù)器
版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。
最新資訊
熱門推薦