當前位置:首頁 » 文件管理 » 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程序來調度。那麼這個程序肯定要常駐內存,並且進行睡眠。這種方式沒有意義。

熱點內容
iqz3哪個配置好一點 發布:2024-10-08 04:34:07 瀏覽:760
二戰時期的電報密碼叫什麼 發布:2024-10-08 04:34:06 瀏覽:618
神武手游什麼隊伍配置最好 發布:2024-10-08 04:19:05 瀏覽:420
seer資料庫 發布:2024-10-08 04:18:47 瀏覽:477
l3緩存分數下降 發布:2024-10-08 04:10:36 瀏覽:433
linux游戲伺服器 發布:2024-10-08 04:04:17 瀏覽:74
有什麼推薦的網游低配置 發布:2024-10-08 03:17:03 瀏覽:36
淘優惠源碼 發布:2024-10-08 03:17:02 瀏覽:780
linux系統製作 發布:2024-10-08 02:47:15 瀏覽:252
4s緩存怎麼清理 發布:2024-10-08 02:46:42 瀏覽:429