基于commons-net实现ftp创建文件夹、上传、下载功能.
发布时间:2020-12-15 00:18:43 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 基于commons-net实现ftp创建文件夹、上传、下载功能. FtpClientUtil package com.demo.ftp; import java.io.FileInputStream; import java.io.FileOut
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考
基于commons-net实现ftp创建文件夹、上传、下载功能.
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服务器地址 */ private String server; /** * 端口 */ private int port; /** * 用户名 */ private String username; /** * */ private String password; public FtpClientUtil () { server = "localhost"; port = 21; username = "kun"; password = "222221"; } public FtpClientUtil(String server,int port,String username,String password) { this.server = server; this.port = port; this.username = username; this.password = password; } /**上传文件 * @param remoteFileName 远程文件名称 * @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服务器 connect( ftp ); //设置属性 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 远程文件名称 * @param locaFileName 本地文件名称 */ public void download(String remoteFileName,true ) ); //连接ftp服务器 connect( ftp ); //设置属性 setProperty( ftp ); //下载文件 download( ftp,locaFileName ); //退出 logout( ftp ); } catch (Exception e) { e.printStackTrace(); }finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException f) { } } } } /**创建文件夹 * @param remotePathName 远程文件夹名称 */ public void mkdir(String remotePathName) { FTPClient ftp=null; try { ftp = new FTPClient(); ftp.addProtocolCommandListener( new PrintCommandListener( new PrintWriter( System.out ),true ) ); //连接ftp服务器 connect( ftp ); //设置属性 setProperty( ftp ); //创建文件夹 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(); //二进制传输,默认为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 locaFileName) throws Exception{ //上传 InputStream input; input = new FileInputStream(locaFileName); ftp.storeFile(remoteFileName,input); input.close(); } /** * @param ftp */ private void connect(FTPClient ftp) throws Exception{ //连接服务器 ftp.connect( server,port); int reply = ftp.getReplyCode(); //是否连接成功 if ( !FTPReply.isPositiveCompletion( reply ) ) { throw new ConnectException( server+" 服务器拒绝连接" ); } //登陆 if (!ftp.login(username,password)) { throw new ConnectException( "用户名或密码错误" ); } } } FtpTest package com.demo.ftp; /** * @author wobendiankun 2015-1-8 下午08:34:36 */ public class FtpTest { public static void main(String[] args) { //上传文件 //upload(); //下载文件 //download(); //创建文件夹 mkdir(); } /** * */ private static void mkdir() { FtpClientUtil clientUtil=new FtpClientUtil(); clientUtil.mkdir("test"); } /** * */ private static void download() { String remoteFileName="./111.txt"; String locaFileName="F:testtxt3333.txt"; FtpClientUtil clientUtil=new FtpClientUtil(); clientUtil.download(remoteFileName,locaFileName); } /** * */ private static void upload() { String remoteFileName="./111.txt"; String locaFileName="F:testtxtaaa.txt"; FtpClientUtil clientUtil=new FtpClientUtil(); clientUtil.upload(remoteFileName,locaFileName); } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |