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获取文件夹中所有文件相关推荐

  1. java 文件递归删除文件夹_Java十行代码实现递归删除文件夹中所有文件

    递归删除文件夹中所有文件 要递归首先需要有方法.递归,即方法自己调用自己.一般在程序中很少使用,但在这个实现中,我们无法知道文件夹的深度,更无法根据深度来实现循环的嵌套. 递归两个重要条件: 终止边界 ...

  2. 获取文件夹中所有文件的文件名[重复]

    本文翻译自:Getting the filenames of all files in a folder [duplicate] Possible Duplicate: 可能重复: Read all ...

  3. Python 获取文件夹中的文件列表

    获取文件夹中的文件列表 问题 你想获取文件系统中某个目录下的所有文件列表. 解决方案 使用 os.listdir() 函数来获取某个目录中的文件列表: import os names = os.lis ...

  4. Java文件操作:文件夹中搜索文件

    在文件夹中搜索文件,找到的话将文件的绝对路径列表返回 /*** 递归查找文件* @param baseDirName 查找的文件夹路径* @param targetFileName 需要查找的文件名* ...

  5. C++读取文件夹中所有文件的路径,包含子文件夹

    C++读取文件夹中所有文件的路径,包含子文件夹 C++实现指定文件夹的路径,获取该路径下所有文件的路径,含子文件夹的文件,为了实现跨平台编译,最后会给出Window和Linux的完成程序: [1]下面 ...

  6. 使用C语言查看一个文件夹中所有文件及目录

    1.前言 1.1声明 文章中的文字可能存在语法错语以及标点错误,请谅解: 如果在文章中发现代码错误或其它问题请告知,感谢! 2.实现方法 为了使用C语言实现查看一个文件夹中的文件数量功能,可以使用di ...

  7. mvfiles:一次性提取多个文件夹中的文件

      作者:吴玉轩 (南开大学) Stata 连享会: 知乎 | 简书 | 码云 | CSDN   Stata连享会 精品专题 || 精彩推文 2019暑期"实证研究方法与经典论文" ...

  8. 递归算法遍历文件夹中所有文件递归删除文件夹

    - 引言:怎样才能遍历出一个文件夹中的所有文件呢,我们知道,java中的File类中有这样的方法,list() ,可以返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录.我们是否可 ...

  9. matlab 选择文件夹、选择文件GUI和逐一读取文件夹中的文件

    matlab 选择文件夹.选择文件GUI和逐一读取文件夹中的文件 1. 选择文件夹路径: filepath = uigetdir('*.*','请选择文件夹');%fliepath为文件夹路径 2. ...

  10. 按文件名对文件夹中的文件分类

    我的文件夹中的部分文件,需要同一类的图片放在同一文件夹下(obj后面是类名). #用于获取文件夹中的文件对象.创建文件夹 import shutil #移动文件到指定文件夹中 import ospat ...

最新文章

  1. python哪本好-在众多小说中,Python告诉你哪本小说好看
  2. cocos2d-x 3.2读取xml和json练习
  3. 服务器jar包配置文件,spring boot加载第三方jar包的配置文件的方法
  4. c语言小项目---通讯录2.0
  5. electron 入坑记
  6. asp.net中验证码的实现
  7. multipart/form-data
  8. linux socket编程web服务器实现报文解析,[Socket][网络编程]程序范例:Linux下连接WEB服务器...
  9. 192.168.8.1手机登陆_192.168.8.1登录入口
  10. pic由c语言和汇编语言,单片机教程:PIC单片机C语言程序设计(二)
  11. [文摘20080226]领导法则 - 陈安之
  12. OSChina 周三乱弹 —— 程序员的专属小习惯
  13. 解决spring JdbcTemplate更新操作成功但数据库未插入值的方案
  14. 计算机弹歌光年之外谱子,光年之外(完整版)-邓紫棋-和弦谱-《弹吧》官网tan8.com-和弦谱大全,学吉他,秀吉他...
  15. 三元运算符 php_使用PHP三元运算符
  16. UI必备 PS圆角Corner Editor插件
  17. 征途手机版服务器维护,征途手机版手游开服表_征途手机版手游开服时间表_新服新区预告_第一手游网...
  18. 如何区分一个股票属于哪个证券交易所的,如何区分一个股票是上证指数还是深圳指数?
  19. 企业无线路由器故障排除实例解析
  20. emacs Linux Java编程环境_emacs的工作环境设置

热门文章

  1. 解密常见的社会工程学攻击
  2. 【附源码】Python计算机毕业设计汽车4S店服务管理系统
  3. 浏览器野史 UserAgent列传
  4. 显控触摸屏编程手册_深圳显控AKWORKSHOP触摸屏与ALLENBRADLEY通讯手册.pdf
  5. 方正飞翔加密锁_方正飞翔6.0数字版注册机
  6. Spring注解-@DependsOn
  7. 服务器端jQuery – phpQuery简要
  8. Multisim14 安装出错情况说明,以及解决办法
  9. 《Java从入门到放弃》框架入门篇:SpringBoot+mybatis搭建三层架构项目
  10. 使用永洪BI工具开发扫雷游戏