下载ftp服务器文件。
下载ftp服务器文件
public StringBuilder downLoadFTPFile(String hostName,int port,String userName,String password,String remotePath,String fileName){InputStream is = null;BufferedReader br = null;try {//连接ftp服务器ftpClient.connect(hostName,21);ftpClient.login(userName,password);if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {ftpClient.disconnect();System.out.println("连接失败,失败code是:" + ftpClient.getReplyCode() + "\n失败描述是:" + ftpClient.getReplyString());}//设置服务器下的文件路径。boolean hasRemote = ftpClient.changeWorkingDirectory(remotePath);if (!hasRemote){System.out.println("进入ftp目录失败。");}System.out.println("-----hostName:" + hostName + "---userName:" + userName + "---password" + password+ "---remotePath:" + remotePath + "---fileName:" + fileName);//获取文件输入流is = ftpClient.retrieveFileStream(fileName);System.out.println("文件输入流是:"+ is);br = new BufferedReader(new InputStreamReader(is,"UTF-8"));String line;while ((line = br.readLine()) != null){//读取数据sbResult.append(line + "\n");System.out.println("每一行的数据内容是:" + sbResult);}ftpClient.logout();} catch (IOException e) {e.printStackTrace();System.out.println("连接门户ftp获取文件失败,失败原因:" + e.getMessage());}finally {if (ftpClient.isConnected()){try {ftpClient.disconnect();} catch (IOException e) {e.printStackTrace();}}if (br != null){try {br.close();} catch (IOException e) {e.printStackTrace();}}if (is != null){try {is.close();} catch (IOException e) {e.printStackTrace();}}}}
pom文件中添加
<dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.3</version></dependency>
解析的时候可以按行截取。
好了本来到这里已经结束了,连自己的阿里云服务器是没有什么问题的。
但是上了公司的测试服务器以后(因为调的是其他厂家的ftp服务,所以可能跟自己的云服务器配置不一样。),一直报ftp response 421 server close connect。
各种查问题,各种找资料,我尝试直接在虚机使用
ftp ip + 端口
命令去直接获取文件
get 文件名称
可以拿到,获取到的是二进制的数据
然后就想到了把获取文件设置为二进制。
代码如下
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
结果还是不行。
然后网上查需要设置成被动模式
代码如下
ftpClient.enterLocalPassiveMode();
然后还是不行,这下就陷入了沉思,死活通不了。这么个破东西搞了一个多礼拜。最后发现原因是因为我是在连接登录前设置的二进制文件,最后放到连接和登录之后就好了。简直要气炸。故记录一下,有时间去看源码为什么回这样。
ftpClient.connect(hostName,port);
ftpClient.login(userName,password);
下载ftp服务器文件。相关推荐
- 服务器被bash服务占满_用bash脚本自动下载ftp服务器文件
我一直觉得黑客就应该把图形画界面丢弃,这一直是我的坚持,所以我就学写一些脚本,毕竟自己写脚本也有乐趣,还能写写一些文章,挺好玩的. 在internet中最火热的应用就是文件传输,其中最简单的就是FTP ...
- Linux下使用wget下载FTP服务器文件
wget -nH -m --ftp-user=your_username --ftp-password=your_password ftp://your_ftp_host/* 使用命令下载ftp上的文 ...
- Linux系统下载FTP服务器文件
方法1:使用wget下载 wget -nH -m --ftp-user=%username --ftp-password=%password ftp://**.**.**.** -nH:不创建以主机名 ...
- FTP服务器文件自动上传、下载(bat)
FTP服务器文件自动上传.下载(bat) 1.FTP自动上传 #上传脚本bat,将攻击机的文件上传到靶机,并清理痕迹 @echo Off echo open 192.168.203.133>&g ...
- 不限文件类型的ftp服务器,ftp服务器文件类型
ftp服务器文件类型 内容精选 换一换 在SAP系统中,如果选择共享文件系统由SFS Turbo而非NFS Server提供时,例如SAP HANA中的Backup卷或者Shared卷,您需要创建SF ...
- mac 远程ftp服务器文件共享,mac 远程ftp服务器文件
mac 远程ftp服务器文件 内容精选 换一换 云堡垒机配置了FTP/SFTP远程备份,报请检查服务器密码或网络连接情况错误,不能启动远程备份.选择备份具体某一天日志,提示备份正在执行,但远程服务器未 ...
- mac 上传ftp服务器文件夹权限,mac 访问 ftp服务器文件夹权限
mac 访问 ftp服务器文件夹权限 内容精选 换一换 在"云服务器列表"页,单击下拉按钮展开会话列表,查看会话连接状态,出现"关闭应用失败"的异常.将鼠标移动 ...
- win7建立服务器文件夹权限,win7 ftp服务器 文件夹权限
win7 ftp服务器 文件夹权限 内容精选 换一换 DDK_HOME:为ddk安装目录,默认为../../che/ddk/ddk/,请根据实际情况修改为 DDK安装目录/ddk/.CC_SIDE:为 ...
- ftp服务器备份手机文件,ftp服务器文件自动备份
ftp服务器文件自动备份 内容精选 换一换 为加强对数据的容灾管理,云堡垒机支持手动备份和配置日志远程备份,提高审计数据安全性和系统可扩展性.通过手动导出/下载各功能模块数据文件保存在本地,可手动备份 ...
最新文章
- avrorecord.java,失败,但发生异常java.io.IOException:org.apache.avro.AvroTypeException:发现的很长,期望在配置单元中实现联合...
- Python基础教程:在for循环搭配else的陷阱,你知道吗?
- 软件版本具体代表什么意思
- 【iOS atomic、nonatomic、assign、copy、retain、weak、strong】的定义和区别详解
- qt连接mysql4.7数据库_QT4.7访问MySQL的驱动编译过程
- js / php 网站底部版权文字自动改变年份
- Mysql之drop、delete、truncate的区别
- Java的JDK以及maven环境变量配置
- 两端对齐几种实现方案
- linux系统安装mysql的步骤_在Linux系统安装MySql步骤截图详解
- hfss和python接口_python 与HFSS联合仿真的教程讲解
- Silverlight4 多页打印实现
- 8086/8088 CPU的段寻址方式,段地址和偏移地址
- 世界银行264个国家1437项统计指标
- 竞赛|阿里巴巴全球调度算法大赛
- c语言编译器w7,wintc下载|c语言编译器wintc win7/win8兼容版 v2.0下载 64位32位 - 3322软件站...
- 火狐查看密码_在Firefox中查看和删除存储的密码
- 【每日蓝桥】14、一三年省赛Java组真题“三部排序”
- Android 11.0 12.0TvSettings系统设置遥控器home键退不出主页面功能的修复
- 该内存不能written
热门文章
- 基于Docker搭建单机版Mesos/Marathon
- 深度 | 从硬件配置到软件安装,一台深度学习机器的配备指南
- 打印服务器的文件夹,如何打印远程服务器文件夹
- maemo useful link
- linux 系统时间编程(1) wall time和monotonic time科普
- 名帖293 张瑞图 行书《书米芾西园雅集图记十二条屏》
- Win32API学习笔记第六章(四)
- 软件测试工程师对英语要求高吗,软件测试工程师面试英语
- css 导航栏下划线跟随效果,默认第一个li为选中状态
- 100道软件测试练习题,看看你能有多少分