「Java」 Timer でタスクをスケジューリングする
Java であるタスクをスケジューリングして定期的に実行するサンプルのメモです。
タスクのスケジューリングは Timer#schedule で行います。タスクは TimerTask クラスを継承してオーバライドした run に記述します。
・Timer (Java Platform SE 8 )
https://docs.oracle.com/javase/jp/8/docs/api/java/util/Timer.html
・TimerTask (Java Platform SE 8 )
https://docs.oracle.com/javase/jp/8/docs/api/java/util/TimerTask.html
あるファイルの存在をチェックする場合、以下の感じになります ( ファイルが存在した場合はプロセス落としてます )。
■ TimerTest.java
import java.io.File; import java.util.Timer; import java.util.TimerTask; public class TimerTest { public static void main(String[] args) { Timer timer = new Timer("filePollingTimer"); timer.schedule( new FilePollingTask("C:\\workspace44_2\\ZZZ\\file\\test.txt"), 1 * 1000, 60 * 1000); } } class FilePollingTask extends TimerTask { private File file; public FilePollingTask(String fName) { file = new File(fName); } @Override public void run() { if (file.exists()) { System.out.println(file.getName() + " exist"); System.exit(0); } else { System.out.println(file.getName() + " not exist"); } } }
簡単ですが、以上になります。