JAVA编写FTP连接报错java.net.ConnectException: Connection refused: connect FTP

代码如下:
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;

import sun.net.TelnetOutputStream;
import sun.net.TelnetInputStream;
import sun.net.ftp.FtpClient;

public class FtpTest {
String localfilename;

String remotefilename;

FtpClient ftpClient;

// server:服务器名字
// user:用户名
// password:密码
// path:服务器上的路径
public void connectServer(String ip, int port,String user
, String password,String path) {

try {
ftpClient = new FtpClient();
ftpClient.openServer(ip,port);
ftpClient.login(user, password);
System.out.println("login success!");
if (path.length() != 0) ftpClient.cd(path);
ftpClient.binary();
} catch (IOException ex) {
System.out.println("not login");
System.out.println(ex);
}
}

public void closeConnect() {
try {
ftpClient.closeServer();
System.out.println("disconnect success");
} catch (IOException ex) {
System.out.println("not disconnect");
System.out.println(ex);
}
}

public static void main(String agrs[]) {

FtpTest ft = new FtpTest();
//以连接本机做测试
ft.connectServer("127.0.0.1",21, "实际的账号", "实际密码","/");
}
}
错误提示:

not login
java.net.ConnectException: Connection refused: connect

第1个回答  2018-10-26
可能win操作系统防火墙没有对jre开启..导致不能访问..
第2个回答  2011-03-29
en
第3个回答  2011-03-29
你本地有没有FTP服务器在运行?追问

你的意思是?

追答

你本地有没有FTP的 server端?
在cmd窗口里用下面命令看有没有端口为21的程序。
C:\Users\Administrator>netstat -a

追问

我本机没有server端,你所说的FTP server不一定是JAVA写的吧?以前我都是用FileZilla远程连接到那台机器。把文件放上去。现在我是想写代码让程序自己上传到这台机器上。可以一直就连接不上。21端口没有用,PING远程机器也可以PING通

追答

那你127.0.0.1应该改成远程机器的IP。

追问

我改过了,也试过了,还是报这个错误。

追答

端口是21吗,还有用户名密码注意大小写等

追问

端口是21,自己的机器账号密码肯定没错,连远程的机器用FileZilla测试过是可以连接的。所以账号密码肯定没问题。问题到底出在哪啊?困扰两天了

追答

这个应该没问题。
如果端口、用户名、密码和你在FileZilla里设置的一模一样,那可能是你远程服务器上的ftp需要加密传输等等其它设置。你可以仔细比较FileZilla上有什么不同

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网