公司需要,要求把4个文件夹的DOC文件每天备份一次。每个文件夹下约有 10万个DOC文件,并且每天都在更新。为了不影响白天的工作,我选择通过定时程序在晚上12点开始运行!public class CoypTimerTask extends TimerTask {
public void run() {
CheckDir cd = new CheckDir("H:/DOC_FILES");
String dir = cd.dir();
Date starttime = new Date();
try {
new CopyDir().CopyDir("Y:/DOC_File/200804", "H:/DOC_FILES/"+dir+"/200804");
new CopyDir().CopyDir("Y:/DOC_File/200805", "H:/DOC_FILES/"+dir+"/200805");
new CopyDir().CopyDir("Y:/DOC_File/200806", "H:/DOC_FILES/"+dir+"/200806");
new CopyDir().CopyDir("Y:/DOC_File/200807", "H:/DOC_FILES/"+dir+"/200807");
new CopySystemLog("H:/DOC_FILES/"+dir+"/CopyLog.txt",starttime.toString());
} catch (IOException e) {
e.printStackTrace();
}
new CopySuccess();
}
}
***************************************************************************
public class CopyFileSystem_auto {
public static void main(String[] args) {
Timer timer = new Timer();
Date date= new Date(108,6,19,23,50,0);
timer.schedule(new CoypTimerTask(),date);
}
}
开始两天运行还不错,可是这两天发现一些问题,程序经常在到了运行时间的时候出错。启动程序跟主程序运行相差5个多小时左右。错误类型Exception in thread Timer-0 java.lang.NullPointerException,看起来像是定时程序的问题。请各位高手百忙中抽空帮我看看,万分的感谢,如需看全部代码,请通知我。问题解决必将加分感谢!
public void run() {
CheckDir cd = new CheckDir("H:/DOC_FILES");
String dir = cd.dir();
Date starttime = new Date();
try {
new CopyDir().CopyDir("Y:/DOC_File/200804", "H:/DOC_FILES/"+dir+"/200804");
new CopyDir().CopyDir("Y:/DOC_File/200805", "H:/DOC_FILES/"+dir+"/200805");
new CopyDir().CopyDir("Y:/DOC_File/200806", "H:/DOC_FILES/"+dir+"/200806");
new CopyDir().CopyDir("Y:/DOC_File/200807", "H:/DOC_FILES/"+dir+"/200807");
new CopySystemLog("H:/DOC_FILES/"+dir+"/CopyLog.txt",starttime.toString());
} catch (IOException e) {
e.printStackTrace();
}
new CopySuccess();
}
}
***************************************************************************
public class CopyFileSystem_auto {
public static void main(String[] args) {
Timer timer = new Timer();
Date date= new Date(108,6,19,23,50,0);
timer.schedule(new CoypTimerTask(),date);
}
}
开始两天运行还不错,可是这两天发现一些问题,程序经常在到了运行时间的时候出错。启动程序跟主程序运行相差5个多小时左右。错误类型Exception in thread Timer-0 java.lang.NullPointerException,看起来像是定时程序的问题。请各位高手百忙中抽空帮我看看,万分的感谢,如需看全部代码,请通知我。问题解决必将加分感谢!
楼主【dawnspace】截止到2008-07-31 09:57:48的历史汇总数据(不包括此帖):
发帖的总数量:7 发帖的总分数:200 每贴平均分数:28
回帖的总数量:8 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:7 结贴的总分数:200
无满意结贴数:1 无满意结贴分:20
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:14.29 % 无满意结分率:10.00 %
敬礼!
取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=dawnspace
private Calendar lastRunning=null;
private Calendar now = null;
private CoypTimerTask task = new CoypTimerTask();
private boolean running=true;
public TaskWatchDog(){
now = lastRunning = Calendar.getInstance();
}
public void run(){
while(running){
int lastDay = lastRunning.get(Calendar.DAY_OF_MONTH);
int nowDay = now.get(Calendar.DAY_OF_MONTH);
if(nowDay!=lastDay){
task.run();
lastRunning=Calendar.getInstance();
}
}//while
}
}
/**************************************************************/
public class CopyFileSystem_auto {
public static void main(String[] args) {
new TaskWatchDog().start();
}
}
private Calendar lastRunning=null;
private Calendar now = null;
private CoypTimerTask task = new CoypTimerTask();
private boolean running=true;
public TaskWatchDog(){
now = lastRunning = Calendar.getInstance();
}
public void run(){
while(running){
int lastDay = lastRunning.get(Calendar.DAY_OF_MONTH);
int nowDay = now.get(Calendar.DAY_OF_MONTH);
if(nowDay!=lastDay){
task.run();
lastRunning=Calendar.getInstance();
}
Thread.sleep(10000);
}//while
}
}
/**************************************************************/
public class CopyFileSystem_auto {
public static void main(String[] args) {
new TaskWatchDog().start();
}
}