文档章节

ftp操作

随风而浮沉
 随风而浮沉
发布于 2015/11/18 10:34
字数 296
阅读 50
收藏 0

package cn.tisson.icsp.task;


import java.io.BufferedInputStream;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStreamReader;

import java.util.Calendar;

import java.util.ResourceBundle;


import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.scheduling.annotation.Scheduled;

import org.springframework.stereotype.Service;


import cn.tisson.icsp.ftp.common.FileUtil;

import cn.tisson.icsp.service.ObstacleSvc;

import cn.tisson.icsp.service.TimeTaskService;

import cn.tisson.icsp.utils.FtpApche;

import cn.tisson.icsp.utils.GetFileCharsetUtils;

/**

 * 严障信息

 * @author Administrator

 *

 */

@Service("obstacleTask")

public class ObstacleTask {

public static ResourceBundle RESOURCE_BUNDLE = 

ResourceBundle.getBundle("cn.tisson.icsp.commonConfig");

protected String ftp_server_ip=RESOURCE_BUNDLE.getString("ftp_server_ip");

protected int ftp_server_port=new Integer(RESOURCE_BUNDLE.getString("ftp_server_port"));

protected String ftp_server_username=RESOURCE_BUNDLE.getString("ftp_server_username");

protected String ftp_server_password=RESOURCE_BUNDLE.getString("ftp_server_password");


@Autowired

TimeTaskService timeTaskService;

@Autowired

ObstacleSvc obstacleSvc;

@Scheduled(cron="0 0/1 * * * ?")

//@Scheduled(cron="0 30 8 * * ?")

public void run() {

System.out.println("=====ObstacleTask======");

try {

int lockCount=this.timeTaskService.findUnLockTimeLockJob("Obstacle_LOCK");

if(lockCount>0){//判断锁是否在解锁状态

timeTaskService.updateLockTimeLockJob("Obstacle_LOCK");//锁定

String date = null;

       Calendar cal = Calendar.getInstance();

       cal.add(Calendar.DAY_OF_MONTH, -1);

       date = "" + cal.get(Calendar.YEAR);

       date += cal.get(Calendar.MONTH) >= 9 ? (cal.get(Calendar.MONTH) + 1) : ("0" + (cal.get(Calendar.MONTH) + 1));

       date += cal.get(Calendar.DAY_OF_MONTH) >= 10 ? cal.get(Calendar.DAY_OF_MONTH) : ("0" + cal.get(Calendar.DAY_OF_MONTH));

       date="20151115";

       String filename = "gz_obstacle_"+date+".txt";//要down的文件

                //FTP服务器hostname  端口   登录名         密码 

FtpApche.downFile(ftp_server_ip, ftp_server_port, ftp_server_username, ftp_server_password,

//FTP服务器上的相对路径    文件名          下载后保存到本地的路径

               "/predeal", filename, System.getProperty("user.dir"));

// String code = GetFileCharsetUtils.getFilecharset((System.getProperty("user.dir") + File.separator + filename));

//ANSI文件用GBK打开

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(System.getProperty("user.dir") + File.separator + filename), "GBK"));

       String line = null;

       int i = 1;

       while ((line = br.readLine()) != null) {

        String[] cols = line.split("※");

        if(i!=1){

        Long l=Long.parseLong(cols[8]);

        this.obstacleSvc.saveObstacle(cols[0], cols[2], cols[3], cols[4], cols[5], cols[6], cols[7], l);

        System.out.println("插入严障信息");

        }

        i++;

       }

       br.close();

       FileUtil.fileDelete(System.getProperty("user.dir") + File.separator + filename);

timeTaskService.updateUnLockTimeLockJob("Obstacle_LOCK");//解锁

}

}catch (Exception e) {

e.printStackTrace();

timeTaskService.updateUnLockTimeLockJob("Obstacle_LOCK");//解锁

}

}

}


© 著作权归作者所有

随风而浮沉

随风而浮沉

粉丝 4
博文 60
码字总数 11086
作品 0
广州
程序员
私信 提问
FTP的主动和被动模式详解

FTP的主动和被动模式详解 和煦的点滴2016-06-28150 阅读 FTPCentosLinux 主动模式FTP与被动模式FTP该如何选择 无论是主动模式还是被动模式,其要进行文件传输都必须依次建立两个连接,分别为...

和煦的点滴
2016/06/28
0
0
PHP的FTP操作类

PHP的FTP操作类 沧海一粟2018-03-143 阅读 FTPPHP类操作

沧海一粟
2018/03/14
0
0
在Webstorm/Phpstorm中设置连接FTP,上传到服务器

Phpstorm除了能直接打开localhost文件之外,还可以连接FTP,除了完成正常的数据传递任务之外,还可以进行本地文件与服务端文件的异同比较,同一文件自动匹配目录上传,下载,这些功能是平常I...

origin
2016/05/20
3K
0
​Sublime Text 的 FTP 操作插件 - Sublime AFTP

Sublime Text 编辑器插件,用于 FTP 操作,解决了原有的 FTP 插件 SFTP 因编码不一致,不能进行操作的问题。 安装方法:打开sublime text 编辑器,依次点击菜单栏中的按钮Preferences->Brow...

指间温度
2017/12/29
411
1
安装和使用 FTP for Windows2003 图文步骤

 1.windows iis +ftp安装   开始----控制面板----添加或删除程序 如图   出现如下界面点击“添加/删除windows组件(a) ”如图   出现如下界面   选择“应用程序服务器”   点击图片...

Jack088
2016/04/28
28
0

没有更多内容

加载失败,请刷新页面

加载更多

好程序员大数据教程分享Scala系列之模式匹配和样例类

好程序员大数据教程分享Scala系列之模式匹配和样例类 1.样例类 在Scala中样例类是一中特殊的类,样例类是不可变的, 可以通过值进行比较,可用于模式匹配。 定义一个样例类: 构造器中每一个...

好程序员官网
19分钟前
4
0
让nginx上的静态网页在访问的时候没有html后缀

需求背景: 公司产品小姐姐觉得这个访问带html后缀不专业,要求访问不带html后缀 nginx 配置 #原配置 location / { index index.html index.htm index.php; try_files $...

Linux_Anna
20分钟前
4
0
beetl的内置函数

函数调用Beetl内置函数请参考附录,以下列出了常用的函数date 返回一个java.util.Date类型的变量,如 date() 返回一个当前时间(对应java的java.util.Date); ${date( "2011-1-1" , "yy...

gantaos
21分钟前
4
0
spring cloud 2.x版本 Gateway自定义过滤器教程

前言 本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 [toc] 本文基于前两篇文章eureka-server、eureka-client、eureka-ribbon、eureka-feign和spring-gataway的实现。 参考......

毛毛向前冲V5
24分钟前
4
0
VPGAME 的 Kubernetes 迁移实践

作者 | 伍冲斌 VPGAME 运维开发工程师 导读:VPGAME 是集赛事运营、媒体资讯、大数据分析、玩家社群、游戏周边等为一体的综合电竞服务平台。总部位于中国杭州,在上海和美国西雅图分别设立了...

阿里巴巴云原生
29分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部