java操作Ftp文件的一些方式(一)


public class FtpUtil { private  Log log = LogFactory.getLog(getClass()) ; private String userName;  private String password; private String ip;  private int port;  private FTPClient ftpClient = null;  private FTPSClient ftps = null ; //構造方法初始化類 public FtpUtil(String userName, String password, String ip, int port) { this.userName = userName; this.password = password; this.ip = ip; this.port = port; }         //連接ftp public boolean connectServer() throws Exception{ boolean flag = true; if (ftpClient == null) {  ftpClient = new FTPClient(); ftpClient.connect(ip,port); log.info("Connected to " + ip); log.info(ftpClient.getReplyString()); int reply = ftpClient.getReplyCode();  if (!FTPReply.isPositiveCompletion(reply)) { ftpClient.disconnect(); log.warn("FTP server refused connection."); return false ; } boolean bok = ftpClient.login(userName, password); if (!bok)  { try { ftpClient.disconnect() ; ftpClient = null ; } catch (Exception e) { } throw new Exception("can not login ftp server") ; } ftpClient.setBufferSize(1024); ftpClient.setControlEncoding("GBK");  ftpClient.setFileType(FTP.BINARY_FILE_TYPE);  ftpClient.setDataTimeout(120000);  ftpClient.enterLocalPassiveMode(); ftpClient.setUseEPSVwithIPv4(false); }  return flag; }         //列出所有文件內容 public List<String> listRemoteAllFiles(String path) throws Exception { ftpClient.enterLocalPassiveMode();  FTPFile[] files = ftpClient.listFiles(path, new FTPFileFilter() {  @Override public boolean accept(FTPFile file) {  if (file.isFile()) return true ; return false ; }}) ; List<String> list = new ArrayList() ; for (FTPFile file : files) { list.add(file.getName()) ; } return list ; } public void closeConnect() {  try { if (ftpClient != null) { ftpClient.logout(); ftpClient.disconnect(); } } catch (Exception e) { } }         //下載文件 public boolean downloadFile(String remotePath, String fileName, String localPath) throws Exception { FileOutputStream fos = null ;  try { File localFile = new File(localPath, fileName); fos = new FileOutputStream(localFile); ftpClient.enterLocalPassiveMode();  ftpClient.changeWorkingDirectory(remotePath) ; boolean bok = ftpClient.retrieveFile(fileName, fos); fos.close() ; fos = null ; return bok ; } catch (Exception e) { throw e ; } finally { if (fos!=null) { try { fos.close() ; fos = null ; } catch (Exception e2) { } } }  }         //上傳文件 public boolean uploadFile(String remotePath, String filename, String localFilePath) throws Exception { FileInputStream fis = null ; try { fis = new FileInputStream(new File(localFilePath)); ftpClient.enterLocalPassiveMode();  ftpClient.changeWorkingDirectory(remotePath); boolean bok = ftpClient.storeFile(filename, fis);  fis.close(); fis = null ; return bok ; } catch (Exception e) { throw e ; } finally { if (fis!=null) { try { fis.close() ; fis = null ; } catch (Exception e2) { } } } } //刪除文件 public boolean removeFile(String remotePath, String filename) throws Exception { ftpClient.changeWorkingDirectory(remotePath); boolean bok = ftpClient.deleteFile(filename) ;  return bok ; } }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM