使用FTPClient下载文件报错java.net.SocketException: Software caused connection abort: recv failed 10
同事写了一个java下载FTP服务器上的文件的程序,使用的是eclipse,可以正常运行,但在我的myeclipse环境下就要报错源码:publicstaticboole...
同事写了一个java下载FTP服务器上的文件的程序,使用的是eclipse,可以正常运行,但在我的myeclipse环境下就要报错
源码:
public static boolean downloadFile(String ip, int port, String user,
String pwd, String remotePath, String fileName,
String localPath) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(ip, port);
// 下面三行代码必须要,而且不能改变编码格式,否则不能正确下载中文文件
ftp.setControlEncoding("GBK");
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_UNIX);
conf.setServerLanguageCode("zh");
// 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
ftp.login(user, pwd);// 登录
reply = ftp.getReplyCode();
// System.out.println("reply:"+reply);
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.changeWorkingDirectory(remotePath);// 转移到FTP服务器目录
FTPFile[] fs = ftp.listFiles();
运行到 FTPFile[] fs = ftp.listFiles();就要抛异常:java.net.SocketException: Software caused connection abort: recv failed
求大神解答! 展开
源码:
public static boolean downloadFile(String ip, int port, String user,
String pwd, String remotePath, String fileName,
String localPath) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(ip, port);
// 下面三行代码必须要,而且不能改变编码格式,否则不能正确下载中文文件
ftp.setControlEncoding("GBK");
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_UNIX);
conf.setServerLanguageCode("zh");
// 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
ftp.login(user, pwd);// 登录
reply = ftp.getReplyCode();
// System.out.println("reply:"+reply);
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.changeWorkingDirectory(remotePath);// 转移到FTP服务器目录
FTPFile[] fs = ftp.listFiles();
运行到 FTPFile[] fs = ftp.listFiles();就要抛异常:java.net.SocketException: Software caused connection abort: recv failed
求大神解答! 展开
3个回答
展开全部
检查一下路径和端口号能不能登陆ftp
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
响应失败,你换个用户名和密码试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_UNIX);
有配置文件的,你要修改啊,unix服务器的
有配置文件的,你要修改啊,unix服务器的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询