最近因为需求,需要通过JAVA程序连接服务器并上传文件。
于是选用了FTP4J这个开源FTP工具,我在本机搭建了个FTP服务器测试通过。
但是准备部署生产的时候出了点问题,FTP到服务器(Linux)的时候失败了,用FTP工具连接没有问题。
异常信息:
2010-09-02 10:30:42 WARN main - REIN not implemented.
it.sauronsoftware.ftp4j.FTPException [code=502, message= REIN not implemented.]
at it.sauronsoftware.ftp4j.FTPClient.logout(FTPClient.java:1384)
at test.FtpTest.upload(FtpTest.java:54)
at test.FtpTest.main(FtpTest.java:63)
请专家解答! 谢谢
[code="java"]
public class FtpTest {
private static final Log log = LogFactory.getLog(FtpTest.class);
private String ftp = "ftp://10.1.2.41";
private String username = "www";
private String password = "xxxx";
private String encoding = "utf-8";
public void upload(String filePath) throws Exception {
URL url = new URL(ftp);
FTPClient client = new FTPClient();
client.setCharset(encoding);
client.setType(FTPClient.TYPE_AUTO);
// 连接到指定的FTP服务器(域名或IP) 不指定端口,则使用默认端口21
try {
int port = url.getPort();
if (port < 1) {
port = 21;
}
client.connect(url.getHost(), port);
// 登录验证
client.login(username, password);
client.logout();
// 安全退出
client.disconnect(true);
} catch (Exception e) {
log.warn(e.getMessage(), e);
}
}
public static void main(String[] args) throws Exception {
new FtpTest().upload("E:/package/ftp4j-1.5.1.zip");
}
}
[/code]