FTPClient ftp = new FTPClient();
try {
//logger.info("准备链接FTP");
System.out.println("准备链接FTP");
int reply;
ftp.connect(ip, port);
ftp.login(username, password);
reply = ftp.getReplyCode();
System.out.println("reply="+reply);
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
System.err.println("FTP server refused connection.");
//logger.info("FTP server refused connection.");
System.exit(1);
}
boolean b = ftp.changeWorkingDirectory(remotepath);
System.out.println(b);
//*****************************
FTPFile[] files = ftp.listFiles();
//*****************************
System.out.println("list done");
for (FTPFile f:files) {
if (f.isFile()) {
String fileName = f.getName();
System.out.println(fileName);
String fileTime = ftp
.getModificationTime(remotepath + fileName);
if (fileTime.substring(0,10).equals(ut.use(1))) {
File localFile = new File(localPath + fileName);
OutputStream is = new FileOutputStream(localFile);
//logger.info("begin down");
System.out.println("begin down");
ftp.retrieveFile(fileName, is);
is.flush();
... ...FTPFile[] files = ftp.listFiles(); 这句没有执行,卡到这里了,出了什么问题那??谢谢!!
try {
//logger.info("准备链接FTP");
System.out.println("准备链接FTP");
int reply;
ftp.connect(ip, port);
ftp.login(username, password);
reply = ftp.getReplyCode();
System.out.println("reply="+reply);
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
System.err.println("FTP server refused connection.");
//logger.info("FTP server refused connection.");
System.exit(1);
}
boolean b = ftp.changeWorkingDirectory(remotepath);
System.out.println(b);
//*****************************
FTPFile[] files = ftp.listFiles();
//*****************************
System.out.println("list done");
for (FTPFile f:files) {
if (f.isFile()) {
String fileName = f.getName();
System.out.println(fileName);
String fileTime = ftp
.getModificationTime(remotepath + fileName);
if (fileTime.substring(0,10).equals(ut.use(1))) {
File localFile = new File(localPath + fileName);
OutputStream is = new FileOutputStream(localFile);
//logger.info("begin down");
System.out.println("begin down");
ftp.retrieveFile(fileName, is);
is.flush();
... ...FTPFile[] files = ftp.listFiles(); 这句没有执行,卡到这里了,出了什么问题那??谢谢!!
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
import org.apache.log4j.Logger;public class FtpDown {
//static Logger logger = Logger.getLogger("");
public void downFile(String ip, int port, String username, String password,
String remotepath, String localPath) { // Date currentTime = new Date();
// SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
// String dateString = formatter.format(currentTime);
// //20110908 13 2706
// String utildate = dateString.substring(8,10);
UtilTime ut = new UtilTime(); FTPClient ftp = new FTPClient();
try {
//logger.info("准备链接FTP");
System.out.println("准备链接FTP");
int reply;
ftp.connect(ip, port);
ftp.login(username, password);
reply = ftp.getReplyCode();
System.out.println("reply="+reply);
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
System.err.println("FTP server refused connection.");
//logger.info("FTP server refused connection.");
System.exit(1);
}
boolean b = ftp.changeWorkingDirectory(remotepath);
System.out.println(b);
FTPFile[] files = ftp.listFiles();//*****************************
System.out.println("list done");
for (FTPFile f:files) {
if (f.isFile()) {
String fileName = f.getName();
System.out.println(fileName);
String fileTime = ftp
.getModificationTime(remotepath + fileName);
if (fileTime.substring(0,10).equals(ut.use(1))) {
File localFile = new File(localPath + fileName);
OutputStream is = new FileOutputStream(localFile);
//logger.info("begin down");
System.out.println("begin down");
ftp.retrieveFile(fileName, is);
is.flush();
is.close();
//logger.info("down over");
System.out.println("down over");
}
}
// String fileName = f.getName();
// System.out.println(fileName);
// String fileTime = ftp
// .getModificationTime(remotepath + fileName);
// if (fileTime.substring(0,10).equals(ut.use(1))) {
// File localFile = new File(localPath + fileName);
// OutputStream is = new FileOutputStream(localFile);
// //logger.info("begin down");
// System.out.println("begin down");
// ftp.retrieveFile(fileName, is);
// is.flush();
// is.close();
// //logger.info("down over");
// System.out.println("down over");
// }
}
// for (int i=0;i<files.length;i++){
// System.out.println("ok");
// String fileName = files[i].getName();
// System.out.println(fileName);
// String fileTime = ftp
// .getModificationTime(remotepath + fileName);
// if (fileTime.substring(0,10).equals(ut.use(1))) {
// File localFile = new File(localPath + fileName);
// OutputStream is = new FileOutputStream(localFile);
// //logger.info("begin down");
// System.out.println("begin down");
// ftp.retrieveFile(fileName, is);
// is.flush();
// is.close();
// //logger.info("down over");
// System.out.println("down over");
// }
// }
ftp.logout();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
// do nothing
}
}
} }}