ftp操作

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");//解锁

}

}

}

时间: 2024-09-27 14:17:14

ftp操作的相关文章

[Java] 使用 Apache的 Commons-net库 实现FTP操作

因为最近工作中需要用到FTP操作,而手上又没有现成的FTP代码.就去网上找了一下,发现大家都使用Apache的 Commons-net库中的FTPClient. 但是,感觉用起来不太方便.又在网上找到了很多封装过的.觉得也不是很好用.于是就自己写了一个.网上大多是例子都是直接对文件进行操作,而我更需要的是读到内存,或者从内存上写.并且有很多实用单例模式,但是我觉得如果调用比较多的话,可能会出现问题. 1 /** 2 * 封装了一些FTP操作 3 */ 4 import java.io.Buffe

利用PBFunc在Powerbuilder中进行FTP操作

PBFunc.dll包含了FTP的操作,使用FTP时主要需要以下步骤: 1.调用of_Login函数登录Ftp服务器 2.调用FTP的各种方法 3.Ftp操作完毕后调用of_LoginOut方法进行注销 代码如下: n_pbfunc_ftp lnv_ftp IF Not lnv_ftp.of_Login("192.168.68.21",21,"ftpuser","123456") Then MessageBox("提示",&q

Java的ftp操作

下面是FtpClient类的一些介绍: sun.net.ftp.FtpClient.,该类库首要供给了用于树立FTP衔接的类.运用这些类的办法,编程人员能够长途登录到FTP服务器,罗列该服务器上的目录,设置传输协议,以及传送文件.FtpClient类涵盖了简直一切FTP的功用,FtpClient的实例变量保留了有关树立"署理"的各种信息.下面给出了这些实例变量: public static boolean useFtpProxy 这个变量用于标明FTP传输过程中是不是运用了一个署理,因

FTP操作类---拷贝、移动、删除文件/创建目录

<?php /** * 作用:FTP操作类( 拷贝.移动.删除文件/创建目录 ) * 时间:2006/5/9 * 作者:欣然随风 * QQ:276624915 */ class class_ftp { public $off; // 返回操作状态(成功/失败) public $conn_id; // FTP连接 /** * 方法:FTP连接 * @FTP_HOST -- FTP主机 * @FTP_PORT -- 端口 * @FTP_USER -- 用户名 * @FTP_PASS -- 密码 */

C#实现自定义FTP操作封装类实例

本文实例讲述了C#实现自定义FTP操作封装类.分享给大家供大家参考.具体如下: 这个C#类封装了FTP的常用操作,包括连接ftp服务器.列表服务器上的目录和文件,从ftp下载文件,上传文件到ftp服务器等等 using System; using System.Text; using System.IO; namespace DotNet.Utilities { public class FTPOperater { #region 属性 private FTPClient ftp; /// <s

FTP操作类

using System; using System.Collections.Generic; using System.Net; using System.IO; namespace HGFTP { /// <summary> /// FTP客户端操作类 /// </summary> public class FTPTools { #region 构造函数 /// <summary> /// 创建FTP工具 /// <para> /// 默认不使用SSL,

(转)FTP操作类,从FTP下载文件

using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Net; using System.Windows.Forms; namespace PCMDataImporter { /// <summary> /// 封装了FTP的两个操作:下载文件Download()和获取FTP服务器上文件列表信息GetFileList() /// </summary&

python ftp操作脚本&amp;常用函数

需求:快速进行ftp上传 ,下载,查询文件 原来直接在shell下操作: 需要[连接,输用户名,输密码,单文件操作,存在超时限制] 太过于繁琐,容易操作失败 脚本改进: 一句命令,搞定多文件上传,下载,查询,列表等操作 后期可以加入更强大的功能 直接上脚本: [python] view plaincopyprint? #!/usr/bin/python #ftp.py #this script is used to make some ftp operations more convenient

FTP操作使用

FTP(文件传输协议) FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)."下载"文件就是从远程主机拷贝文件至

shell操作典型案例--FTP操作

从FTP服务器上下载文件或上传文件到FTP服务器是生产环境中比较常见的场景之一. shell操作FTP的方式整理如下: 思路一:使用shell调用ftp等客户端 使用FTP方式,通过shell调用ftp等客户端,从而完成FTP文件的上传.下载等操作. 方式一:ftp方式 一个基本的ftp工具,需安装ftp(yum -y install ftp,后同).一个样例如下: ########################################################### ##函数功