java FTP获取文件夹中所有文件
1、FtpUtils工具类
package pactera.tf.dl.common.util;import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;import java.io.IOException;public class FtpUtils {/*** ftp链接* @return* @throws IOException*/public static FTPClient ftpConnection(String ip,int port,String username,String password) throws IOException {FTPClient ftpClient = new FTPClient();try {ftpClient.connect(ip, port);ftpClient.login(username, password);int replyCode = ftpClient.getReplyCode(); //是否成功登录服务器if(!FTPReply.isPositiveCompletion(replyCode)) {ftpClient.disconnect();System.out.println("--ftp连接失败--");System.exit(1);}else {System.out.println("--ftp连接成功--");}ftpClient.enterLocalPassiveMode();//这句最好加告诉对面服务器开一个端口} catch (Exception e) {e.printStackTrace();}return ftpClient;}/*** 断开FTP连接* @param ftpClient 初始化的对象* @throws IOException*/public static void close(FTPClient ftpClient) throws IOException{if(ftpClient!=null && ftpClient.isConnected()){ftpClient.logout();ftpClient.disconnect();}}}
2、解析文件数据
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import java.io.*;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.*;public void coreDataWarehouse() throws Exception{//获取昨天的时间String yesterday = DateUtils.getChangeDate(-1);//ftp地址String ftpip = dlSysCfgManager.getVal(CfgSystemEnum.FTP_HOST.getCode());//ftp端口int ftpport = Integer.parseInt(dlSysCfgManager.getVal(CfgSystemEnum.FTP_PORT.getCode()));//ftp用户名String ftpusername = dlSysCfgManager.getVal(CfgSystemEnum.FTP_USERNAME.getCode());//ftp密码String ftppassword = dlSysCfgManager.getVal(CfgSystemEnum.FTP_PASSWORD.getCode());//连接ftpFTPClient ftpClient = FtpUtils.ftpConnection(ftpip,ftpport,ftpusername,ftppassword);//ftp文件夹String fileFolder = dlSysCfgManager.getVal(CfgSystemEnum.FTP_FILEFOLDER.getCode());String fileName = fileFolder + "/" + yesterday;try{ftpClient.changeWorkingDirectory(fileName);FTPFile[] files = ftpClient.listFiles();if(files != null && files.length > 0){for (FTPFile file : files){if(file.getName().endsWith("rdy") || !(file.getName().contains(SysPrefixEnum.CORE.getCode()))){continue;}//获取核心表数据InputStream fileInputStream = ftpClient.retrieveFileStream(file.getName());InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "GBK");BufferedReader bufferRead = new BufferedReader(inputStreamReader);String readLine = "";while (!StringUtils.isEmpty(readLine = bufferRead.readLine())) {System.out.println(readLine );}bufferRead.close();inputStreamReader.close();fileInputStream.close();}}}catch (Exception e){throw new DlCommonException(e, DlCommonErrorCodeEnum.EERROR_1007);}finally {FtpUtils.close(ftpClient);}}
java FTP获取文件夹中所有文件相关推荐
- java 文件递归删除文件夹_Java十行代码实现递归删除文件夹中所有文件
递归删除文件夹中所有文件 要递归首先需要有方法.递归,即方法自己调用自己.一般在程序中很少使用,但在这个实现中,我们无法知道文件夹的深度,更无法根据深度来实现循环的嵌套. 递归两个重要条件: 终止边界 ...
- 获取文件夹中所有文件的文件名[重复]
本文翻译自:Getting the filenames of all files in a folder [duplicate] Possible Duplicate: 可能重复: Read all ...
- Python 获取文件夹中的文件列表
获取文件夹中的文件列表 问题 你想获取文件系统中某个目录下的所有文件列表. 解决方案 使用 os.listdir() 函数来获取某个目录中的文件列表: import os names = os.lis ...
- Java文件操作:文件夹中搜索文件
在文件夹中搜索文件,找到的话将文件的绝对路径列表返回 /*** 递归查找文件* @param baseDirName 查找的文件夹路径* @param targetFileName 需要查找的文件名* ...
- C++读取文件夹中所有文件的路径,包含子文件夹
C++读取文件夹中所有文件的路径,包含子文件夹 C++实现指定文件夹的路径,获取该路径下所有文件的路径,含子文件夹的文件,为了实现跨平台编译,最后会给出Window和Linux的完成程序: [1]下面 ...
- 使用C语言查看一个文件夹中所有文件及目录
1.前言 1.1声明 文章中的文字可能存在语法错语以及标点错误,请谅解: 如果在文章中发现代码错误或其它问题请告知,感谢! 2.实现方法 为了使用C语言实现查看一个文件夹中的文件数量功能,可以使用di ...
- mvfiles:一次性提取多个文件夹中的文件
作者:吴玉轩 (南开大学) Stata 连享会: 知乎 | 简书 | 码云 | CSDN Stata连享会 精品专题 || 精彩推文 2019暑期"实证研究方法与经典论文" ...
- 递归算法遍历文件夹中所有文件递归删除文件夹
- 引言:怎样才能遍历出一个文件夹中的所有文件呢,我们知道,java中的File类中有这样的方法,list() ,可以返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录.我们是否可 ...
- matlab 选择文件夹、选择文件GUI和逐一读取文件夹中的文件
matlab 选择文件夹.选择文件GUI和逐一读取文件夹中的文件 1. 选择文件夹路径: filepath = uigetdir('*.*','请选择文件夹');%fliepath为文件夹路径 2. ...
- 按文件名对文件夹中的文件分类
我的文件夹中的部分文件,需要同一类的图片放在同一文件夹下(obj后面是类名). #用于获取文件夹中的文件对象.创建文件夹 import shutil #移动文件到指定文件夹中 import ospat ...
最新文章
- python哪本好-在众多小说中,Python告诉你哪本小说好看
- cocos2d-x 3.2读取xml和json练习
- 服务器jar包配置文件,spring boot加载第三方jar包的配置文件的方法
- c语言小项目---通讯录2.0
- electron 入坑记
- asp.net中验证码的实现
- multipart/form-data
- linux socket编程web服务器实现报文解析,[Socket][网络编程]程序范例:Linux下连接WEB服务器...
- 192.168.8.1手机登陆_192.168.8.1登录入口
- pic由c语言和汇编语言,单片机教程:PIC单片机C语言程序设计(二)
- [文摘20080226]领导法则 - 陈安之
- OSChina 周三乱弹 —— 程序员的专属小习惯
- 解决spring JdbcTemplate更新操作成功但数据库未插入值的方案
- 计算机弹歌光年之外谱子,光年之外(完整版)-邓紫棋-和弦谱-《弹吧》官网tan8.com-和弦谱大全,学吉他,秀吉他...
- 三元运算符 php_使用PHP三元运算符
- UI必备 PS圆角Corner Editor插件
- 征途手机版服务器维护,征途手机版手游开服表_征途手机版手游开服时间表_新服新区预告_第一手游网...
- 如何区分一个股票属于哪个证券交易所的,如何区分一个股票是上证指数还是深圳指数?
- 企业无线路由器故障排除实例解析
- emacs Linux Java编程环境_emacs的工作环境设置
热门文章
- 解密常见的社会工程学攻击
- 【附源码】Python计算机毕业设计汽车4S店服务管理系统
- 浏览器野史 UserAgent列传
- 显控触摸屏编程手册_深圳显控AKWORKSHOP触摸屏与ALLENBRADLEY通讯手册.pdf
- 方正飞翔加密锁_方正飞翔6.0数字版注册机
- Spring注解-@DependsOn
- 服务器端jQuery – phpQuery简要
- Multisim14 安装出错情况说明,以及解决办法
- 《Java从入门到放弃》框架入门篇:SpringBoot+mybatis搭建三层架构项目
- 使用永洪BI工具开发扫雷游戏