定时从ftp上下载txt文件到数据库中
第一步:编写java代码
@Service("BaseDataTask")
public class BaseDataTask {private static Logger logger = Logger.getLogger(BaseDataTask.class.getName());@Resourceprivate TAreaMapper areaMapper;private String ftpIP = "";// ftp地址private String userName = "";// 用户名private String userPwd = ""; // 密码private int ftpPort = 21;// ftp端口号FTPClient fc = null;//ftp对象BufferedReader bufferedReader = null;InputStream fget = null;String fileName="";//文件名public void BaseDataTask() {downloadArea();//区域}public boolean downloadArea() {boolean success = false;try {SimpleDateFormat fileDate = new SimpleDateFormat("yyyyMMdd");String nowDate = fileDate.format(new Date());//当前日期String newName="area_"+nowDate+".txt";//文件名int reply;fc = new FTPClient();// ftp客户端对象fc.connect(ftpIP,ftpPort);// 连接ftp服务器fc.login(userName, userPwd);// 登录ftp服务器//判断登陆是否成功reply = fc.getReplyCode();if (!FTPReply.isPositiveCompletion(reply)) {fc.disconnect();}FTPFile[] fs = fc.listFiles();//ftp下的所有文件名称for (FTPFile ftpfile : fs) { //遍历所有文件fileName = ftpfile.getName();if (fileName.equals(newName)) {logger.info("********" + nowDate + ":开始下载区域信息数据!");//logger.info("------------数据库操作---------");String userID = "admin";String read;//每一行数据int lineNo = 1;//行数String areaname = "";//区域名称String fareaname = "";//所属上级区域名TArea area = new TArea();fget = fc.retrieveFileStream(newName);// 读取ftp远程文件数据bufferedReader = new BufferedReader(new InputStreamReader(fget, "UTF-8"));bufferedReader.readLine();//先执行一次,除去标题的内容lineNo++;while ((read = bufferedReader.readLine()) != null) {//这个里面就写数据库操作步骤lineNo++;}logger.info("********" + nowDate + ":结束下载区域信息数据!");success=true;}success = false;}// 退出登陆fc.logout();} catch (IOException e) {try {bufferedReader.close();} catch (IOException e1) {e1.printStackTrace();}e.printStackTrace();}return success;}}
第二步:在spring配置文件头中添加命名空间及描述
xml代码:
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:task="http://www.springframework.org/schema/task"http://www.springframework.org/schema/taskhttp://www.springframework.org/schema/task/spring-task.xsd">
第三步:在spring配置文件中配置定时任务
xml代码:
<task:scheduler id="myScheduler" pool-size="5" />
<task:scheduled-tasks scheduler="myScheduler"><task:scheduled ref="BaseDataTask" method="BaseDataTask" cron="0 * 22 * * ?"/>
</task:scheduled-tasks>
定时从ftp上下载txt文件到数据库中相关推荐
- springboot实现上传Excel文件与数据库中的数据进行比对
springboot实现上传Excel文件与数据库中的数据进行比对 首先先写好文件上传的接口,然后上传需要比对数据的文件,在点击数据比对 下面是一部分数据比对的代码: 后端controller部分: ...
- C# 从FTP上下载指定文件到本机
1 #region 下载 2 private void btnDownload_Click(object sender, EventArgs e) 3 { 4 5 WebClient webClint ...
- 采用SHELL,通过SQL LOAD导入一定格式的txt文件至数据库中
1. 准备工作,window中可直接通过sqlload直接导入文件,linux下,需要有sqlload的相关软件. 2. SQL脚本 load data CHARACTERSET ZHS16GBK i ...
- C代码实现从FTP上下载文件
从FTP上下载文件这个功能我早就想实现了,但是苦于百度的文章大多是下载链接,一直没舍得积分下载,这次通过查阅MSDN,将一套下载流程函数摸了一下,写出代码实现从FTP下载文件 环境 VS2015 代码 ...
- python3 ftp下载文件,python实现从ftp上下载文件的实例方法
python从ftp上下载文件的方法: 首先导入ftp模块: 然后使用[chdir]命令切换工作路径: 再使用"self.ftp.nlst()"命令获取目录下的文件: 最后使用&q ...
- java ftpclient上传txt文件
java ftpclient上传txt文件 import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp. ...
- 读取FTP上的excel文件,并写入数据库
今天遇到一些问题,需要从ftp上读取一些excel文件,并需要将excel中的数据写入到数据库,这样就可以通过管理页面查看这些数据. 我将相关工作分为三步,1.从ftp上读取相关文件,并将excel文 ...
- 【Springboot】解决下载TXT文件,浏览器直接打开问题
背景(需求) 在浏览器上点击按钮下载txt文件时,会直接在浏览器打开文件的.那如何使用弹窗下载呢? 前提 需要下载的文件,已经在服务器上面,文件结构为 **/download/report/**.tx ...
- 在CNKI上导出TXT文件
在使用CiteSpace之前要先下载数据源,今天就来讲一讲从CNKI上导出txt文件. 1.从学校官网进入中国知网CNKI,单击高级检索 2.输入关键字,可以选择组合输入,单击搜索 3.在每页显示处选 ...
最新文章
- 2019.7.17东湖大数据页面二
- python 导入包 导入模块
- php会不会被人工智能取代,人工智能真的会取代前端开发吗?
- ASIHttpRequest没更新,MKNetWorKit更优越
- Linux文档备份工具,推荐8款免费Linux备份工具
- Threejs3D模型爆炸效果
- 基于FPGA的虚拟示波器的设计
- 三年磨一剑——微信OCR图片文字提取
- c语言 快排,C语言 快排函数
- 实战:使用urllib.request爬取猫眼票房数据
- java在浏览器闪退_Edge浏览器闪退怎么办,Edge浏览器闪退如何修复
- [PTA]练习5-3 数字金字塔
- LeetCode 面试题 03.06. 动物收容所
- 安杰思在科创板IPO过会:拟募资约8亿元,达安基因为其主要股东
- 【C++】利用Unicode控制字符-RLO构造欺骗性文件后缀
- ted学习方法_视世界为1000人,我是如何学习内容策略的TED设计系统的
- 如何更改SQL Server 2005的身份验证模式
- 微信小程序使用vant weapp报错
- 读书笔记《算法图解》:像小说一样有趣
- Linux squid构建-传统模式和透明模式部署
热门文章
- 爱奇艺客户端自动更新安装至C盘解决方法
- 监控设备乐橙连接linux,最近在做乐橙的监控设备,第一步通过http post json获取accessToken都失败了,请问如何解决?...
- 微信银行卡如何解除绑定?图文教程,快速解除
- 字符串绕圈 找最小的字典序开始的位置(C++)
- npm 创建 package.json 文件
- 电影优惠卡html页面,一款HTML5简约风的电影卡片模板(列表)
- 基础密码学与https配置
- HP暗影精灵三win10下安装ubuntu16.04双系统(uefi安装)
- 2013研发调查北京篇:端游稳增长 手游一锅炖
- easyexcel 填写模板指定行合并单元格