使用FTP报错 Connection reset 急求帮忙

一直很贪 2012-07-10 03:18:36
如题,我在使用commons-net-3.0.jar的FTPClient 进行ftp连接时候报错。错误如下:

java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.read(BufferedReader.java:157)
at org.apache.commons.net.io.CRLFLineReader.readLine(CRLFLineReader.java:58)
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:310)
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:290)
at org.apache.commons.net.ftp.FTP._connectAction_(FTP.java:392)
at org.apache.commons.net.ftp.FTPClient._connectAction_(FTPClient.java:762)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:169)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:189)
at cq.down.ftp.t.downFile(t.java:43)
at cq.down.ftp.t.main(t.java:80)


代码如下:

package cq.down.ftp;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;

public class t {

/**
* Description: 从FTP服务器下载文件
*
* @Version1.0 Jul 27, 2008 5:32:36 PM by 崔红保(cuihongbao@d-heaven.com)创建
* @param url
* FTP服务器hostname
* @param port
* FTP服务器端口
* @param username
* FTP登录账号
* @param password
* FTP登录密码
* @param remotePath
* FTP服务器上的相对路径
* @param fileName
* 要下载的文件名
* @param localPath
* 下载后保存到本地的路径
* @return
*/
public static boolean downFile(String url, int port, String username,
String password, String remotePath, String fileName,
String localPath) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.enterLocalPassiveMode();

ftp.connect(url, port);
// 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
ftp.login(username, password);// 登录
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.changeWorkingDirectory(remotePath);// 转移到FTP服务器目录
FTPFile[] fs = ftp.listFiles();
for (FTPFile ff : fs) {
if (ff.getName().equals(fileName)) {
File localFile = new File(localPath + "/" + ff.getName());
OutputStream is = new FileOutputStream(localFile);
ftp.retrieveFile(ff.getName(), is);
is.close();
}
}

ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}


public static void main(String[] args) {
String link = "ftp://6v:6v@ftp1.kan66.com:1260/[6v电影www.dy131.com]变形金刚3BD中英双字1280高清.rmvb";
downFile("ftp1.kan66.com", 21, "6v", "6v", "[6v电影www.dy131.com]变形金刚3BD中英双字1280高清.rmvb", "[6v电影www.dy131.com]变形金刚3BD中英双字1280高清.rmvb", "c:/a.rmvb" );
}
}


大家帮忙看看是怎么回事呢。 我实在搞不懂了。
不知道ftp://6v:6v@ftp1.kan66.com:1260/[6v电影www.dy131.com]变形金刚3BD中英双字1280高清.rmvb 究竟该怎么用ftp去连了。
...全文
1480 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
一直很贪 2012-07-16
  • 打赏
  • 举报
回复
劳烦大家支招支招啊
一直很贪 2012-07-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

....这异常的意思就是网络问题
[/Quote]

网络有问题 我就发不了贴了
BearKin 2012-07-10
  • 打赏
  • 举报
回复
....这异常的意思就是网络问题

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧