Commons FTP范例
public class FtpUtil {private FTPClient ftpClient;private String hostname;private int port;private String username;private String password;private String remoteDir;public FtpUtil(String hostname, int port, String username, String password, String remoteDir){this.hostname = hostname;this.port = port;this.username = username;this.password = password;this.remoteDir = remoteDir;ftpClient = getClient();this.login();this.changeDir();this.setFileType(FTPClient.BINARY_FILE_TYPE);}private FTPClient getClient(){FTPClient ftpClient = new FTPClient();ftpClient.setDefaultPort(port);ftpClient.configure(getClientConfig(FTPClientConfig.SYST_NT));ftpClient.setControlEncoding("GBK");return ftpClient;}private static FTPClientConfig getClientConfig(String sysType){FTPClientConfig config = new FTPClientConfig(sysType);config.setRecentDateFormatStr("yyyy-MM-dd HH:mm");return config;}/** * 登录FTP服务器 */private void login(){try {ftpClient.connect(hostname);ftpClient.login(username, password);}catch(SocketException e){e.printStackTrace();}catch(IOException e){e.printStackTrace();}}/** * 关闭FTP服务器 */public void logout(){try{ftpClient.logout();ftpClient.disconnect();}catch(IOException e){e.printStackTrace();}}/** * 变更工作目录 */private void changeDir(){try{ftpClient.changeWorkingDirectory(remoteDir);}catch(IOException e){e.printStackTrace();}}private void setFileType(int fileType){try{ftpClient.setFileType(fileType);}catch(IOException e){e.printStackTrace();}}public String[] listFiles(String regEx){String[] names;try{names = ftpClient.listNames(regEx);if(names == null) return new String[0];return names;}catch(IOException e){e.printStackTrace();}return new String[0];}public static void main(String[] args) {try {FtpUtil ftpUtil = new FtpUtil(host, port, username, password, basePath);String[] filesList = ftpUtil.listFiles("mps_simsales_100000_*_qy_000_00");if(filesList != null){System.out.println(filesList.length);for(int i=0;i<filesList.length;i++){System.out.println(filesList[i]);}}ftpUtil.logout();}catch(Exception e){e.printStackTrace();}}}
?