import java.io.*;
import java.net.InetAddress;
import org.apache.commons.net.ftp.*;
import org.apache.commons.net.ftp.parser.*;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPFileEntryParser;
public class FtpDownload {
private FTPClient ftp;
public FtpDownload() {
try {
ftp = new FTPClient();
}catch(Exception e) {
e.printStackTrace();
}
}
public void connect() {
while(true) {
String ip = "";
try {
System.out.println("please enter the host IP you want to connect!");
BufferedReader inIP = new BufferedReader(new InputStreamReader(System.in));
ip = inIP.readLine();
ftp.connect(ip);
System.out.println("Connecting " + ip + " successful");
break;
}catch (Exception e) {
System.out.println("Connecting " + ip + " failed");
e.printStackTrace();
}
}
}
public void login() {
while(true) {
try {
System.out.println("enter your username");
BufferedReader inUserName = new BufferedReader(new InputStreamReader(System.in));
String user = inUserName.readLine();
System.out.println("enter your password");
BufferedReader inPassword = new BufferedReader(new InputStreamReader(System.in));
String key = inPassword.readLine();
boolean login = ftp.login(user,key);
if(!login) {
System.out.println("the user isn't existed or uncorrect password!");
} else {
System.out.println("login success");
break;
}
}catch(Exception e) {
e.printStackTrace();
}
}
}
public void getFiles() {
try {
FTPFile[] ftpFiles = ftp.listFiles();
if(ftpFiles != null) {
for(int i = 0; i <ftpFiles.length; i++)
System.out.println(ftpFiles[i].getName());
}
}catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
FtpDownload ftpDownload = new FtpDownload();
ftpDownload.connect();
ftpDownload.login();
ftpDownload.getFiles();
}
}