public static void ftpDownFile() {
TelnetInputStream fget = null;
RandomAccessFile getFile = null;
FtpClient fc = null; String ftpIP = "172.16.21.30";
String userName = "Administrator";
String passWord = "!!$";
String fileName = "CORPMEMBERS_" + new SimpleDateFormat("yyyyMMdd").format(new java.util.Date()) + ".XML";
String fileUrl = "C:/CORPSUBSCRIPTIONINFO/" + fileName;
try {
int ch;
// 判断本地存放文件的文件夹是否存在
if (!new File("C:/TEMP").isDirectory()) {
new File("C:/TEMP").mkdir();
}
String keepLocate = "C:/TEMP/" + fileName; // ftp客户端对象
fc = new FtpClient();
// 连接ftp服务器
fc.openServer(ftpIP,21);
// 登录ftp服务器
fc.login(userName, passWord);
// 使用二进制的方式下载
fc.binary();
// 读取ftp远程文件
fget = fc.get(fileUrl);

DataInputStream puts = new DataInputStream(fget);         
// 新建本地文件
File fi = new File(keepLocate);
// 以读写的方式打开本地文件
getFile = new RandomAccessFile(fi, "rw");
// 将指针放到文件最前段
getFile.seek(0);
// 循环读取远程文件的内容并写入本地文件中
while ((ch = puts.read()) >= 0) {
getFile.write(ch);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fget.close();
} catch (Exception e) {
}
try {
getFile.close();
} catch (Exception e) {
}
try {
fc.closeServer();
} catch (Exception e) {
}
}
}上面是我写的代码,运行的时候就报
sun.net.ftp.FtpLoginException: Not logged in
at sun.net.ftp.FtpClient.readReply(FtpClient.java:231)
at sun.net.ftp.FtpClient.issueCommand(FtpClient.java:193)
at sun.net.ftp.FtpClient.login(FtpClient.java:516)
at utils.DownLoad.ftpDownFile(DownLoad.java:88)
at utils.DownLoad.main(DownLoad.java:124)
什么原因???