import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream.GetField;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
公共类FtpTest_V1 {
公共静态无效的主要(字串[] args){
String server = "192.168.200.8";
int port = 21;
String user = "Test_user";
String pass = "123456**";
FileOutputStream fos = null;
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(server, port);
showServerReply(ftpClient);
ftpClient.enterLocalPassiveMode();
int replyCode = ftpClient.getReplyCode();
System.out.println(replyCode);
//isPositiveCompletion
if (!FTPReply.isPositiveCompletion(replyCode)) {
System.out.println(FTPReply.isPositiveCompletion(replyCode));
System.out.println(FTPReply.isNegativeTransient(replyCode));
System.out.println("Connect failed");
return;
}
boolean success = ftpClient.login(user, pass);
//System.out.println(success);
showServerReply(ftpClient);
if (!success) {
System.out.println("Could not login to the server");
return;
}
// Lists files and directories
FTPFile[] files1 = ftpClient.listFiles("TEST2");
//printFileDetails(files1);
// uses simpler methods
String[] files2 = ftpClient.listNames("TEST2");
printNames(files2);
String[] files = files2;
for (String aFile: files) {
String filename = aFile;
fos = new FileOutputStream(filename);
// Download file from FTP server
ftpClient.retrieveFile("C://test//FTP_TEST//GET" + filename, >fos);
}
}
catch (IOException ex) {
System.out.println("An Error Occured"+ex.getMessage());
System.out.println("Warning! Something wrong happened");
ex.printStackTrace();
} finally {
// logs out and disconnects from server
try {
if (fos != null) {
fos.close();
}
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
private static void printNames(String files[]) {
if (files != null && files.length > 0) {
int i =0;
for (String aFile: files) {
i++;
}
System.out.println("Number of files = "+i);
for (String aFile: files) {
System.out.println(aFile);
}
}
}
private static void showServerReply(FTPClient ftpClient) {
String[] replies = ftpClient.getReplyStrings();
if (replies != null && replies.length > 0) {
for (String aReply : replies) {
System.out.println("SERVER : " + aReply);
}
}
}
}