import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
public class FTPUtils {
private String localfilename;
private String remotefilename;
FTPClient ftpClient;
FTPFile[] fileList;
public void connect(String server, Integer port, String user, String password,
String path) {
try {
ftpClient = new FTPClient();
ftpClient.connect(server, port);
ftpClient.login(user, password);
if (path.length() != 0) {
boolean flag = ftpClient.changeWorkingDirectory(path);
if (flag) {
//
}
}
} catch (IOException e) {
}
}
public void close() {
try {
ftpClient.disconnect();
} catch (IOException e) {
}
}
public void upload() {
try {
File localFile = new File(localfilename);
FileInputStream fis = new FileInputStream(localFile);
boolean flag = ftpClient.storeFile(remotefilename, fis);
if (flag) {
// ftpClient.rename(tempFileName, destinationFileName);
}
fis.close();
} catch (FileNotFoundException e) {
} catch (IOException e) {
}
}
public void upload(String uploadFilePath) {
// String uploadFilePath = "d:/ftp";
try {
File uploadFile = new File(uploadFilePath);
File[] fileList = uploadFile.listFiles();
if (fileList == null) {
return;
}
for (int i = 0; i < fileList.length; i++) {
FileInputStream fis = new FileInputStream(fileList[i]);
String destinationFileName = fileList[i].getName();
String tempFileName = " temp_ " + destinationFileName;
boolean flag = ftpClient.storeFile(tempFileName, fis);
if (flag) {
ftpClient.rename(tempFileName, destinationFileName);
}
fis.close();
}
} catch (IOException e) {
}
}
public void download() {
try {
fileList = ftpClient.listFiles();
ftpClient.makeDirectory(" zjp ");
ftpClient.removeDirectory(" zjp ");
for (int i = 0; i < fileList.length; i++) {
String name = fileList[i].getName();
File temp_file = new File(" c:/ " + " temp_ " + name);
File dest_file = new File(" c:/ " + name);
FileOutputStream fos = new FileOutputStream(temp_file);
boolean flag = ftpClient.retrieveFile(name, fos);
fos.close();
if (flag) {
temp_file.renameTo(dest_file);
}
}
} catch (IOException e) {
}
}
public void setLocalfilename(String localfilename) {
this.localfilename = localfilename;
}
public void setRemotefilename(String remotefilename) {
this.remotefilename = remotefilename;
}
}