linux ftp win nt,Java中apache包中FTPClient读取win NT上的FTP服务器文件失败

当前位置:我的异常网» J2EE » Java中apache包中FTPClient读取win NT上的FTP服务器

Java中apache包中FTPClient读取win NT上的FTP服务器文件失败

www.myexceptions.net  网友分享于:2015-08-26  浏览:256次

Java中apache包中FTPClient读取win NT下的FTP服务器文件失败

org.apache.commons.net.ftp.FTPClient包中的ftpClient.listFiles()输出为0

问题介绍:

我用FTPClient方法访问异地搭建的win nt下的ftp服务器,ftpClient.listFiles()输出为0,ftpClient.listNames()为空,ftpClient.list()有值是150,无法获取到FTP服务器上某路径下的文件。

但是我手工登录(通过linux系统FTP对面的FTP服务器)FTP,相同的用户名、密码、路径是可以看到文件的,并且可以对该路径下的文件GET和PUT新文件。

具体的代码及日志是:

org.apache.commons.net.ftp.FTPClient ftpClient = new FTPClient();

FileOutputStream fos = null;

FileInputStream fis=null;

System.out.println("进入读取ftp...............");

try {

File file = new File(localStr);

if (!file.exists()) {

file.mkdirs();

}

Calendar cCalendar = Calendar.getInstance();

long currTime = cCalendar.getTimeInMillis();

ftpClient.setDataTimeout(120000);

ftpClient.setBufferSize(204800);

System.out.println("Host-====="+Host);

ftpClient.setControlEncoding("gbk");

config = new FTPClientConfig(FTPClientConfig.SYST_NT);

config.setServerLanguageCode("zh");

ftpClient.configure(config);

ftpClient.connect(Host);

System.out.println(ftpClient.getReplyString());

if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {

this.mErrors.addOneError("连接未成功!");

return false;

}

if (!ftpClient.login(user, user)) {

this.mErrors.addOneError("未登录成功!");

return false;

}

ftpClient.enterLocalPassiveMode();

ftpClient.setFileType(ftpClient.BINARY_FILE_TYPE);

System.out.println(ftpClient.getReplyString());

if(sign.equals("0")){

/*对远程文件进行分析*/

if (remoteStr.equals("")) {

System.out.println("请输入正确的文件名!");

return false;

}

String currDir = "";

int i = remoteStr.lastIndexOf("/");

currDir = remoteStr.substring(0, i);

String Remotefile = remoteStr.substring(i + 1);

System.out.println("CurrDir is  :" + currDir);

文章评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值