当前位置:首页 » 文件管理 » java定时任务ftp入库

java定时任务ftp入库

发布时间: 2022-10-11 01:32:58

java 定时任务

这个是我在网上找的不知道是不是你要的:

java定时任务Timer 关于定时任务,似乎跟时间操作的联系并不是很大,但是前面既然提到了定时任务,索性在这里一起解决了。设置定时任务很简单,用Timer类就搞定了。一、延时执行首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行。代码如下:
package test;
import java.util.Timer;
public class TimeTaskTest {
public static void main(String[] args){ Timer timer = new Timer();
timer.schele(new Task(), 60 * 1000);
}
}
解释一下上面的代码。上面的代码实现了这样一个功能,当TimeTask程序启动以后,过一分钟后执行某项任务。很简单吧:先new一个Timer对象,然后调用它的schele方法,这个方法有四个重载的方法,这里我们用其中一个,
public void schele(TimerTask task,long delay)
首先,第一个参数第一个参数就是我们要执行的任务。这是一个TimerTask对象,确切点说是一个实现TimerTask的类的对象,因为TimerTask是个抽象类。上面的代码里 面,Task就是我们自己定义的实现了TimerTask的类,因为是在同一个包里面,所以没有显性的import进来。Task类的代码如下
package test;
import java.util.TimerTask;
public class Task extends TimerTask { public void run()
{
System.out.println("定时任务执行");
}
}
我们的Task必须实现TimerTask的方法run,要执行的任务就在这个run方法里面,这里,我们只让它往控制台打一行字。第二个参数第二个参数是一个long型的值。这是延迟的时间,就是从程序开始以后,再过多少时间来执行定时任务。这个long型的值是毫秒数,所以前面我们的程序里面,过一分钟后执行用的参数值就是 60 * 1000。二、循环执行设置定时任务的时候,往往我们需要重复的执行这样任务,每隔一段时间执行一次,而上面的方法是只执行一次的,这样就用到了schele方法的是另一个重载函数public void schele(TimerTask task,long delay,long period)
前两个参数就不用说什么了,最后一个参数就是间隔的时间,又是个long型的毫秒数(看来java里涉及到时间的,跟这个long是脱不了干系了),比如我们希望上面的任务从第一次执行后,每个一分钟执行一次,第三个参数值赋60 * 1000就ok了。三、指定执行时间既然号称是定时任务,我们肯定希望由我们来指定任务指定的时间,显然上面的方法就不中用了,因为我们不知道程序什么时间开始运行,就没办法确定需要延时多少。没关系,schele四个重载的方法还没用完呢。用下面这个就OK了:
public void schele(TimerTask task,Date time)
比如,我们希望定时任务2006年7月2日0时0分执行,只要给第二个参数传一个时间设置为2006年7月2日0时0分的Date对象就可以了。有一种情况是,可能我们的程序启动的时候,已经是2006年7月3日了,这样的话,程序一启动,定时任务就开始执行了。schele最后一个重载的方法是public void schele(TimerTask task,Date firstTime,long period)
没必要说什么了吧:)四、j2ee中的定时任务在实际的项目中,往往定时任务需要对web工程中的资源进行操作,这样一来,用上面的单个程序的方式可能就有点力不从心了,因为很多web工程的资源它操作不到。解决的办法是,使用Servlet,把执行定时任务的那些代码放到Servlet的init()函数里就可以了,这个easy,就没有必要再写示例代码了吧

㈡ 如何实现ftp文件的定时上传功能

建立站点启动CuteFTP、
选择“文件”→“连接向导”,然后顺着向导,选择上传文件夹,如C:\Upload。同时设置服务器

保存上传队列
选择“传送”→“队列”→“保存队列”,并保存当前列表为ccu.com(如图1)。
保存队列文件
注意:如果你有多个文件需要上传到不同的FTP服务器上,那可以重复上述步骤,新建多个队列文件。

自动上传文件
选择“传送”→“按计划任务传送”,在打开的窗口中选中“启用计划任务管理器”复选框,再单击“添加队列文件”按钮(如图2)。打开先前保存的ccu.que,接着,在打开的(如图3)所示的窗口中设置定时上传时间。按下“确定”按钮即可把它添加到当前列表中(如图4)。
添加队列文件
设置定时上传时间
已将队列添加到列表中
最小化CuteFTP,等到了我们设置的时间,机器会自动把数据上传到FTP服务器上。

两个技巧
1.如果选择图4中“显示倒计时”复选框,再单击“在完成传送后”下拉列表框,选择“关闭计算机”。那机器会在上传前一段时间显示一个倒计时窗口,同时在上传完成后,也会自动关闭计算机。
2.选择“编辑”→“设置”,在打开的窗口中单击“显示”下的“声音”项,再选择相应的事件,然后单击相应事件。再在窗口下方选择相应的声音,或者单击“打开”按钮选择相应的WAV声音即可(如图5)。这样当我们连接服务器、断开连接、开始下载、出现疑问或开始上传时就会有相应的声音来提醒我们。
设置提醒声音

㈢ Java中怎么把数据库中的表做成定时任务,存入缓存,减轻频繁直查数据库时,数据库的压力

根据你的想法,建议将两种方式整合下,建议如下设置:

  1. 接根据业务层的需要,把频繁使用的多个表数据进行整合,并利用视图的方式进行访问,这样既能减少数据表的压力,也能保持数据的准确性;

  2. 根据向系统设定场景,将经常使用到的数据存放在缓存中,缓存建议使用radis等非关系型数据库;

  3. 根据数据量确定,数据量比较大的,可以使用中间表等方式,如果数据量小而多的,放在缓存中最好,提高命中率。

㈣ 24,Java中如何实现一个定时任务

  • /**

  • *普通thread

  • *这是最常见的,创建一个thread,然后让它在while循环里一直运行着,

  • *通过sleep方法来达到定时任务的效果。这样可以快速简单的实现,代码如下:

  • *@authorGT

  • *

  • */

  • publicclassTask1{

  • publicstaticvoidmain(String[]args){

  • //runinasecond

  • finallongtimeInterval=1000;

  • Runnablerunnable=newRunnable(){

  • publicvoidrun(){

  • while(true){

  • //-------codefortasktorun

  • System.out.println("Hello!!");

  • //-------endshere

  • try{

  • Thread.sleep(timeInterval);

  • }catch(InterruptedExceptione){

  • e.printStackTrace();

  • }

  • }

  • }

  • };

  • Threadthread=newThread(runnable);

  • thread.start();

  • }

  • }

㈤ 如何用 Java 实现 Web 应用中的定时任务

首先,定时任务不是只存在web端的。只要是java写的应用都可以用定时任务。
网上的开源库也有不少,比如quartz

㈥ 怎样通过java定时将数据库中的信息导出后生成xml文件,并通过ftp上传到指定的位置

1、使用quarz或者jdk的timer来制定定时任务。
2、使用jdbc或者hibernate等方法获取数据库中信息。
3、使用xmlbeans或者dom4j等技术生成xml文件。
4、使用sun.net.ftp.FtpClient上传到指定ftp服务器。

㈦ 使用spring 定时任务实现ftp传送 为什么定时任务突然终止

这个有多种情况;
1、Ftp服务是否一致畅通;
2、Java处理FTP上传的代码是否进入异常,如果有异常情况是会结束;

建议先按照单元测试方法Junit 或者 main方法方式手动在本地调试下是否能够正常上传至FTP,如果可以则说明非代码问题(有时候当天处理的文件名命名乱码等也有关系,建议你就使用上传终止的那份文件测试);如不可以当然要先改进你的代码喽;

㈧ 求每日定时在服务器的FTP上取数据文件的源码(JAVA)

这个是可以向服务器端发送文字的程序,就是在客户端发送一句hello在服务器也可以接受到hello,这个程序可以修改一下就可以了。具体修改方法是增加一个定时器,然后把字符流改成字节流,现在有点忙,你先研究啊,近两天帮你写写看。
服务器端:
import java.net.*;
import java.io.*;

public class DateServer {
public static void main(String[] args) {
ServerSocket server=null;

try{
server=new ServerSocket(6666);
System.out.println(
"Server start on port 6666...");
while(true){
Socket socket=server.accept();
new SocketHandler(socket).start();
/*
PrintWriter out=new PrintWriter(
new OutputStreamWriter(
socket.getOutputStream()
)
);
out.println(new java.util.Date().toLocaleString());
out.close();
*/
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(server!=null) {
try{
server.close();
}catch(Exception ex){}
}
}
}
}

class SocketHandler extends Thread {
private Socket socket;
public SocketHandler(Socket socket) {
this.socket=socket;
}
public void run() {
try{
PrintWriter out=new PrintWriter(
new OutputStreamWriter(
socket.getOutputStream()
)
);
out.println(
new java.util.Date().
toLocaleString());
out.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
客户端:
package com.briup;

import java.io.*;
import java.net.*;

public class FtpClient {
public static void main(String[] args) {
if(args.length==0) {
System.out.println("Usage:java FtpClient file_path");
System.exit(0);
}
File file=new File(args[0]);
if(!file.exists()||!file.canRead()) {
System.out.println(args[0]+" doesn't exist or can not read.");
System.exit(0);
}

Socket socket=null;

try{
socket=new Socket(args[1],Integer.parseInt(args[2]));
BufferedInputStream in=new BufferedInputStream(
new FileInputStream(file)
);
BufferedOutputStream out=new BufferedOutputStream(
socket.getOutputStream()
);
byte[] buffer=new byte[1024*8];
int i=-1;
while((i=in.read(buffer))!=-1) {
out.write(buffer,0,i);
}
System.out.println(socket.getInetAddress().getHostAddress()+" send file over.");
in.close();
out.close();
}catch(Exception e){
e.printStackTrace();
}finally{
if(socket!=null) {
try{
socket.close();
}catch(Exception ex){}
}
}
}
}

㈨ 需求: 定时将 指定文件 上传到 FTP服务器

用定时同步软件把。数据同步的不少。
补充下-
【实现目标】 CuteFTP内置计划任务表模块,能够按用户预先指定的日期和时间,自动拨号、上传文件并自动断线。

【操作方法】 其操作方法如下: = 进行自动拨号上网设定(1)在CuteFTP主窗口中,选择[FTP]4[Settings]4[Options]4[Connection]菜单命令。(2)选择“connection the Internet usinga modem”,使用Modem拨号上网。(3)在下拉列表中,选择拨号所使用的连接,再按照提示进行相应的设置即可。= 将定时上传队列添加到计划任务表中(1)在CuteFTP窗口的本地文件列表中,选中要上传的文件,单击菜单“Queue/AddtoQueue”,将它们添加到队列中。(2)选择[Queue]4[Save Queue]菜单命令,将队列保存为一个文件,文件名由用户指定(如up1)。(3)选择[Queue]4[ScheleTransfers]菜单命令,在弹出的“Scheler”对话框中,使选项“EnableScheler”生效。(4)单击“Scheler”对话框中的“AddQueueFile”按钮,选择希望添加到计划任务表中的队列文件,接着单击“打开”按钮。(5)在弹出的对话框中,设定执行这个上传任务的具体日期和时间即可。

㈩ java怎么实现每天定时读取文件,然后在写到数据库中呢

不是java定时读取,而是系统调度
比如你写了一个java程序,这个程序是读取文件,写到数据库中。那么这个程序怎么才能定时启动。是操作系统调度的问题了。不是java的问题。所以要用操作系统的调度。
如果在win服务器下,可以下一个cmd文件。文件中调用java程序,然后将cmd设置成每天几点执行
如果是linxu或者unix下,则使用crontab调度。

当然,如果你非要用java程序来调度。那么这个程序肯定要常驻内存,并且进行睡眠。这种方式没有意义。

热点内容
在团竞模式中怎么重置配置 发布:2024-10-08 02:12:54 浏览:289
宝马远程服务器如何启用 发布:2024-10-08 02:02:57 浏览:391
c语言freadfwrite 发布:2024-10-08 02:01:15 浏览:854
脚本还不简单吗 发布:2024-10-08 01:54:43 浏览:423
安卓手机如何像平板一样横屏 发布:2024-10-08 01:33:26 浏览:510
wapi认证服务器ip 发布:2024-10-08 01:33:24 浏览:507
centos自带python 发布:2024-10-08 00:53:31 浏览:340
android串口调试助手 发布:2024-10-08 00:45:03 浏览:405
sqlserver2008乱码 发布:2024-10-08 00:39:59 浏览:220
华为电脑服务器系统进不去提示 发布:2024-10-08 00:13:42 浏览:493