Java使用FTPClient类读写FTP

  

本文实例为大家分享了Java使用FTPClient类读写FTP的具体代码,供大家参考,具体内容如下

  

1。首先先导入相关的jar包

  

癑ava使用FTPClient类读写FTP

  

2。创建一个连接FTP的工具类FTPUtil。java
  

        包com.metarnet.ftp.util;      进口java.io.IOException;   进口java.io.InputStream;   进口java.net.SocketException;   进口java.util.Properties;      进口org.apache.commons.net.ftp.FTPClient;   进口org.apache.commons.net.ftp.FTPReply;   进口org.apache.log4j.Logger;      公开课FTPUtil {   私有静态日志记录器=Logger.getLogger (FTPUtil.class);/* *   *获取FTPClient对象   * @param ftpHost FTP主机服务器   * @param ftpPassword FTP登录密码   * @param ftpUserName FTP登录用户名   * @param ftpPort FTP端口默认为21   * @return   */公共静态FTPClient getFTPClient (ftpPassword ftpHost的字符串,字符串,   字符串ftpUserName, int ftpPort) {   FTPClient FTPClient=零;   尝试{   ftpClient=new ftpClient ();   ftpClient。连接(ftpHost ftpPort);//连接FTP服务器   ftpClient。登录(ftpUserName ftpPassword);//登陆FTP服务器   如果(! FTPReply.isPositiveCompletion (ftpClient.getReplyCode ())) {   logger.info(“未连接到FTP,用户名或密码错误。”);   ftpClient.disconnect ();   其他}{   logger.info (“FTP连接成功。”);   }   }捕捉(SocketException e) {   e.printStackTrace ();   logger.info (“FTP的IP地址可能错误,请正确配置。”);   }捕捉(IOException e) {   e.printStackTrace ();   logger.info (“FTP的端口错误,请正确配置。”);   }   返回ftpClient;   }   }   之前      

3。编写一个读取FTP上文件的类ReadFTPFile。java
  

        包com.metarnet.ftp.read;      进口java.io.BufferedReader;   进口java.io.FileInputStream;   进口java.io.FileNotFoundException;   进口java.io.IOException;   进口java.io.InputStream;   进口java.io.InputStreamReader;   进口java.net.SocketException;      进口org.apache.commons.net.ftp.FTPClient;   进口org.apache.log4j.Logger;      进口com.metarnet.ftp.util.FTPUtil;      公开课ReadFTPFile {   私人日志记录器=Logger.getLogger (ReadFTPFile.class);/* *   *去服务器的FTP路径下上读取文件   *   * @param ftpUserName   * @param ftpPassword   * @param ftpPath   * @param FTPServer   * @return   */ftpPassword ftpUserName readConfigFileForFTP公共字符串(字符串,字符串,   字符串ftpPath、字符串ftpHost int ftpPort字符串文件名){   StringBuffer resultBuffer=new StringBuffer ();   FileInputStream inFile=零;   InputStream=零;   FTPClient FTPClient=零;   logger.info(“开始读取绝对路径”+ ftpPath +“文件!”);   尝试{   ftpClient=FTPUtil。getFTPClient (ftpHost ftpPassword ftpUserName,   ftpPort);   ftpClient.setControlEncoding (“utf - 8”);//中文支持   ftpClient.setFileType (FTPClient.BINARY_FILE_TYPE);   ftpClient.enterLocalPassiveMode ();   ftpClient.changeWorkingDirectory (ftpPath);   在=ftpClient.retrieveFileStream(文件名);   }捕捉(FileNotFoundException e) {   记录器。错误(“没有找到“+ ftpPath +“文件”);   e.printStackTrace ();   回报”下载配置文件失败,请联系管理员。”;   }捕捉(SocketException e) {   logger.error(“连接FTP失败。”);   e.printStackTrace ();   }捕捉(IOException e) {   e.printStackTrace ();   logger.error(“文件读取错误。”);   e.printStackTrace ();   返回“配置文件读取失败,请联系管理员。”;   }   如果(在!=null) {   BufferedReader br=new BufferedReader(新InputStreamReader ());   字符串数据=https://www.yisu.com/zixun/null;   尝试{   在((数据=br.readLine ()) !=null) {   resultBuffer。追加(数据+“\ n”);   }   }捕捉(IOException e) {   logger.error(“文件读取错误。”);   e.printStackTrace ();   返回“配置文件读取失败,请联系管理员。”;   最后}{   尝试{   ftpClient.disconnect ();   }捕捉(IOException e) {   e.printStackTrace ();   }   }   其他}{   logger.error(”为空,不能读取。”);   返回“配置文件读取失败,请联系管理员。”;   }   返回resultBuffer.toString ();   }   }   

Java使用FTPClient类读写FTP