求帮忙写个JAVA的小程序,要求如下:
我电脑做了个FTP,D盘有个名字为“收”的文件夹,每10分钟会收到一张图片,求帮忙写个JAVA小程序,每天下午6点钟自动把下午5点钟之前收到的图片移动到E盘的文件夹“备份...
我电脑做了个FTP,D盘有个名字为“收”的文件夹,每10分钟会收到一张图片,求帮忙写个JAVA小程序,每天下午6点钟自动把下午5点钟之前收到的图片移动到E盘的文件夹“备份”里面,谢谢各位。
展开
3个回答
展开全部
import java.io.File;
import java.io.IOException;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
public class testTimerTask extends TimerTask{
private static String toPath="e:/备份/";
@Override
public void run() {
// TODO Auto-generated method stub
File f=new File("d:/收");
File[] fl=f.listFiles();
for(int i=0;i<fl.length;i++){
File fi=fl[i];
if(fi.isFile()){
if(fi.lastModified()<getTime(17)){
try {
Runtime.getRuntime().exec("move "+fi.getPath()+" "+ toPath);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
public static long getTime(int htime) {
// TODO Auto-generated method stub
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, htime);
return cal.getTimeInMillis();
}
public static void main(String[] argc){
long time=System.currentTimeMillis()-getTime(18);
if(time<0){
time=24*60*60*1000-time;
//计算出距离下一个18点的毫秒数
}
new Timer().schedule(new testTimerTask(), time, 24*60*60*1000);
//从下一个18点开始,没24小时执行一次run
}
}
import java.io.IOException;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
public class testTimerTask extends TimerTask{
private static String toPath="e:/备份/";
@Override
public void run() {
// TODO Auto-generated method stub
File f=new File("d:/收");
File[] fl=f.listFiles();
for(int i=0;i<fl.length;i++){
File fi=fl[i];
if(fi.isFile()){
if(fi.lastModified()<getTime(17)){
try {
Runtime.getRuntime().exec("move "+fi.getPath()+" "+ toPath);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
public static long getTime(int htime) {
// TODO Auto-generated method stub
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, htime);
return cal.getTimeInMillis();
}
public static void main(String[] argc){
long time=System.currentTimeMillis()-getTime(18);
if(time<0){
time=24*60*60*1000-time;
//计算出距离下一个18点的毫秒数
}
new Timer().schedule(new testTimerTask(), time, 24*60*60*1000);
//从下一个18点开始,没24小时执行一次run
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询