веб-приложение Java MySQL - PullRequest
       19

веб-приложение Java MySQL

1 голос
/ 01 января 2012

Я сейчас пытаюсь создать очень простой планировщик заданий. Я пытаюсь создать приложение, которое будет проверять текущее местное системное время. Если время 12:00, оно будет загружено по ссылке "http://javadl.sun.com/webapps/download/AutoDL?BundleId=58134" на мой рабочий стол. Кто-нибудь знает, как это сделать с Java? В настоящее время я могу проверить только текущее локальное системное время.

package task;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import java.io.*;
import java.net.URL;


class MyTask extends TimerTask {
 public static void main(String[] args)  {
 Timer timer = new Timer();
 timer.schedule(new MyTask(), 60 * 1000);

 public void run() {
   Date date = new Date();
   if(date.compareTo(midnight) == 0) {
  //Download code
   URL google = new URL("http://www.google.it");
   ReadableByteChannel rbc = Channels.newChannel(google.openStream());
   FileOutputStream fos = new FileOutputStream("google.html");
   fos.getChannel().transferFrom(rbc, 0, 1 << 24);
   }
 }
}
}

Ответы [ 2 ]

1 голос
/ 01 января 2012

Вы можете, например, реализовать Таймер , который срабатывает каждые 60 секунд и, если время составляет 12:00, загружает файл.

    Timer timer = new Timer();
    timer.schedule(new MyTask(), 60 * 1000);


class MyTask extends TimerTask {
    public void run() {
       Date date = new Date();
       if(date.compareTo(midnight) == 0) {
      //Download code
     }
    }
0 голосов
/ 01 января 2012

Полностью рабочий пример, чтобы начать:

import java.util.Calendar;

public class BasicScheduler {
    public static void main(String[] args) throws InterruptedException {
        while (true) {
            Calendar rightNow = Calendar.getInstance();
            Integer hour = rightNow.get(Calendar.HOUR_OF_DAY);

            if (hour==12) {
                // Do your thing
                // ...



                // Sleep for a long time, or somehow prevent two downloads this time
                // ...
                Thread.sleep(60*1000+1);
            }
            else {
                Thread.sleep(1000);
            }

        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...