java如何实现从远程FTP服务器定时更新相关文件

问题描述

背景是这样的:远程ftp服务器会更新某目录下的一些文件,本地服务器需要定时下载这些更新后的文件。我的想法是:由最后修改时间判断该文件是不是最新的(用Spring+Quartz定时去ftp服务器看是否有文件可以更新),然后下载更新的文件,这样可避免重复下载。各位有没有类似的程序例子?谢谢了! ftpClient有一种方法是 ftpClient.getModificationTime(String pathname)可以得到文件的最后修改时间Quartz+Spring实现定时任务配置好了,业务逻辑那怎么写 问题补充:huoyj 写道

解决方案

FileObject localFile = localfiles.get(key);FileObject remoteFile = remotefiles.get(key);if(localFile==null&&remoteFile!=null) //如果本地没有文件,就下载{ //download return;}else if(remoteFile==null) //远程文件被删就不用下载了{ return;}//根据本地和远程文件的最后修改时间判断下不下载。long localFileTime = localFile.lasttime;long remoteFileTime = remoteFile.lasttime;if(localFileTime<remoteFile) //本地文件较旧{ //download return ;}return;大概就是这样的吧,你再看着改改。
解决方案二:
apache的common-net里面有FTPFile类,代表FTP服务器上的一个文件,FTPFile类里面有方法getTimestamp就是获取文件的修改时间的,而你本地的文件File也有类似的方法,你获取到后可以直接比较了。不过你应该注意到一个问题,那就是时区必须一致。
解决方案三:
经你这么的分析,这里面已经没有什么无法解决的技术问题了,随手就能写出代码,为什么还要别人给例子呢。

时间: 2024-08-02 07:23:21

java如何实现从远程FTP服务器定时更新相关文件的相关文章

window系统cmd环境下从远程FTP服务器上下载文件

  我们总会遇到这样或那样的问题,window系统cmd环境下从远程FTP服务器上下载文件是怎么实现的呢? 看看下面的方法,也许对你有帮助: @echo off rem 指定FTP用户名 set ftpUser=FTPUSERYGL rem 指定FTP密码 set ftpPass=FTPUSER rem 指定FTP服务器地址 set ftpIP=10.16.12.101 rem 指定待下载的文件位于FTP服务器的哪个目录 set ftpFolder=/MBX-YGL-IN/UE0620/MBX-

python连接远程ftp服务器并列出目录下文件的方法

  本文实例讲述了python连接远程ftp服务器并列出目录下文件的方法.分享给大家供大家参考.具体如下: 这段python代码用到了pysftp模块,使用sftp协议,对数据进行加密传输   1 2 3 4 5 6 7 8 9 10 import pysftp srv = pysftp.Connection(host="your_FTP_server", username="your_username",password="your_password&q

实现Linux中Mysql数据库自动备份并上传到远程FTP服务器

这篇文章很有分享价值,因为我们在实际的生产环境中需要将数据库进行自动备份,然后上传到指定的位置,当然也可以像以下文章中所讲的一样,上传到你指定的FTP服务器中,从而实现Mysql数据库自动备份并上传到远程FTP服务器的部署,在Linuxhttp://www.aliyun.com/zixun/aggregation/31093.html">技术交流群中,也有朋友会遇到这方面的问题,可以将此文分享给群友共益. 注意:任何的操作都会具有风险性,请在本机实际测试通过之后再部署到服务器环境,这样即熟

Java通过FTP服务器上传下载文件的方法_java

对于使用文件进行交换数据的应用来说,使用FTP 服务器是一个很不错的解决方案. 关于FileZilla Server服务器的详细搭建配置过程,详情请见FileZilla Server安装配置教程.之前有朋友说,上传大文件(几百M以上的文件)到FTP服务器时会重现无法重命名的问题,但本人亲测上传2G的文件到FileZilla Server都没有该问题,朋友们可以放心使用该代码. FavFTPUtil.Java package com.favccxx.favsoft.util; import jav

java怎么实现批量远程telnet服务器并做操作?

问题描述 java怎么实现批量远程telnet服务器?jat.jar和commons-net-1.4.1.jar它们都是实现的telnet登录一个服务器的.服务器中有IBM.HP,共有10台,本地windows可以分别telnet到这10台机器每台服务器中有相同的用户名/密码weblogic/weblogic有相同的目录/home/weblogic/nmon,有相同的脚本nmonstart.sh需求:1.做一个HTML或者一个API,界面中我可以输入我要telnet的IP地址,比如10个输入框我

python连接远程ftp服务器并列出目录下文件的方法_python

本文实例讲述了python连接远程ftp服务器并列出目录下文件的方法.分享给大家供大家参考.具体如下: 这段python代码用到了pysftp模块,使用sftp协议,对数据进行加密传输 import pysftp srv = pysftp.Connection(host="your_FTP_server", username="your_username",password="your_password") # Get the directory

FTP服务器开启防火墙相关配置

    由于工作需要公司最近的一台服务器需要开启启用FTP服务,用来传输文件.     但是考虑到该服务器是在公网,基于安全的考虑一般都是要开启防火墙的.而公司内部的FTP服务器,一般情况下我都是关闭防火墙的.     下面我就将有关防火墙的配置流出如下:     OS:windows server 2003.2008 FTP:Filezilla Server 0.9.41     首先是安装FTP服务器,在此我使用时开源FTP服务器Filezill Server.有关Filezilla Ser

centos定时备份数据到远程FTP文件

例1,定时备份到远程ftp 先说问题.公司现在有2台服务器,都是centos系统,一台本地(局域网),一台则在电信机房.因为工作需要,每天备份机房上的数据到本地,以前一直是FTP登录,然后下载到本地机器.现在则希望,利用本地的centos机器,自动备份到本地. 解决方法如下: 1.下载远程电信机房中机器上已打包好的数据.这个不难,一条语句搞定.  代码如下 复制代码 wget ftp://user_name:password@ip_address:port/dir/file_name2. 定时任

java ssh linux-java实现ssh登录远程Linux服务器并在该服务器上执行命令的问题

问题描述 java实现ssh登录远程Linux服务器并在该服务器上执行命令的问题 请教高手: 现在要使用java实现ssh登录远程Linux服务器并在该服务器上执行命令,获得执行命令的结果!由于采用的ssh登录方式是使用公钥密钥对的形式,不需要输入密码.所以如果正常的话可以直接执行,能很快得到结果. 但要是不小心出现问题,比如公钥密钥丢失等情况,就会需要输入密码,这时候程序就会一直停留在等待输入密码的那一步,无法继续执行下去. 现在假设发生了后面那种事情(需要输入密码,程序一直停留在等待密码),