ftpclient 遇到的一些问题

摘要:
FTPReply.isPositiveCompletion){ftpClient.disconnect();ToolUtils.logger.error("登录FTP服务失败!");returnisLogin;}ftpClient.login;//设置传输协议ftpClient.enterLocalPassiveMode();//应该是这个,没有主动打开端口接收数据ftpClient.setFileType;ToolUtils.logger.warn;isLogin=true;}catch{e.printStackTrace();ToolUtils.logger.error(userName+"登录FTP服务失败!具体原因我也不知道,求大神回答。

1.FTPFile[] files=ftpClient.listFiles(ftpDirectory); 没有数据

public static boolean ftpLogin(String server,int port,String userName,String userPassword,FTPClient ftpClient){
if(ftpClient==null){
ftpClient= new FTPClient();
}
boolean isLogin = false;
if(ftpClient!=null && ftpClient.isConnected()){
isLogin=true;
return isLogin;
}
ftpClient.setControlEncoding("GBK");
try {
if (port > 0) {
ftpClient.connect(server, port);
} else {
ftpClient.connect(server);
}
// FTP服务器连接回答
int reply = ftpClient.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftpClient.disconnect();
ToolUtils.logger.error("登录FTP服务失败!");
return isLogin;
}
ftpClient.login(userName, userPassword);
// 设置传输协议
ftpClient.enterLocalPassiveMode(); //应该是这个,没有主动打开端口接收数据
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ToolUtils.logger.warn("恭喜" + userName + "成功登陆FTP服务器");
isLogin = true;
} catch (Exception e) {
e.printStackTrace();
ToolUtils.logger.error(userName + "登录FTP服务失败!" + e.getMessage());
}
ftpClient.setBufferSize(1024 * 2);
ftpClient.setDataTimeout(30 * 1000);
return isLogin;
}

2.中文乱码

ftpClient.setControlEncoding("GBK");

3.ftpClient.storeFile(new String(filename.getBytes("UTF-8"),"iso-8859-1"),is) ;无法写入内容

3.1 ftpClient.changeWorkingDirectory(filepath);//必须写上一次目录列:/a/a.txt 只写/a 或者/a/ 不然的话他把文件创建在根目录

3.2 服务端防火墙拦截

3.3 ftp文件没有赋予用户写入权限

4.中文目录无法进去,修改内容

ftpClient.storeFile(URLDecoder.decode(filename, "iso-8859-1"),is);//可以解决,一些人使用new string 进行转码,不能成功。具体原因我也不知道,求大神回答。

免责声明:文章转载自《ftpclient 遇到的一些问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#根据弹窗标题获取窗体句柄并模拟点击按钮(FindWindow,FindWindowEx,SendMessage)线程.Qt更新界面下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

ArcGIS地图打印设置

业务流程是首先框定要打印的地图范围,这是一个自定义大小。选择帧后,预览帧,然后选择打印输出。在打印输出界面中设置后,HP绘图仪将打印地图。因此,确定该问题与ArcGIS无关,属于打印地图设置问题。...

移动通信网络中的 GTP 协议

在EPSUP中使用GTP的优点之一是GTP具有固有的可识别隧道机制和GTP可以为UE提供的移动性。注意:GTPv2-U协议不存在。GTP-C协议GTP-C是GTP的控制平面,使用UDP端口2123。在EPS中,GTPv2-C协议负责创建、维护和删除S1、S5/S8和其他接口上的GTP-U隧道。它是一种基于IP的隧道协议,允许在GTP UProtocolEnt...

海康SDK编程指南(C#二次开发版本)

海康SDK编程指南目前使用的海康SDK包括IPC_SDK,Plat_SDK(平台),其中两套SDK都需单独调用海康播放库PlayCtrl.dll来解码视频流,返回视频信息和角度信息。本文仅对视频监控常用功能的使用进行说明,其它未实现功能请参看设备网络SDK使用手册和播放库编程指南V7.2。IPC_SDK编程指南(一)SDK的引用由于IPC_SDK没有SDK安...

sqlserver2016安装

2008以前的版本在SQLserver配置管理其中设置。...

Java成长之路

如何学习如何从初级Java程序员成长为合格的架构师,或者一个合格的架构师应该拥有什么样的技术知识体系,这不仅是一个刚进入职场的初级程序员,也是一个工作了三年或五年后感到困惑的老程序员面临的问题。首先必须明确Java的突出之处和不同之处。...

wxparse使用(富文本插件)

优点:唯一已知的可以将HTML转换为小程序识别的插件缺点:转换HTML标签可能需要大量的微信小程序标签和样式配置:步骤1,下载https://github.com/icindy/wxParse第二步:把它放到项目中。我选择页面目录。步骤3:配置wxml以添加:需要时使用:...