Commons FTP例
2444 ワード
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();
}
}
}