fileupdateobservable.java

来自「java 小型系统连接池参照适用于中小型网站」· Java 代码 · 共 45 行

JAVA
45
字号
package ntis.com.util;

import java.io.*;
import ntis.com.base.RunnableObservable;
import ntis.com.base.Mutex;

public class FileUpdateObservable extends RunnableObservable {
  private String fileName = null;
  private long   lastModified = 0;

  public FileUpdateObservable(String fileName, int interval, int counter, Mutex mutex) {
    super(interval, counter, mutex);
    this.fileName = fileName;
    File _file = new File(fileName);
    this.lastModified = _file.lastModified();

    System.out.println("File Name     = " + fileName);
    System.out.println("Last Modified = " + _file.lastModified());
  }

  public void setFileName(String fileName) {this.fileName = fileName;}
  public void setInterval(int interval)    {this.interval = interval;}
  public void setCounter(int counter)      {this.counter  = counter ;}
  public String getFileName() {return fileName;}
  public int getInterval()    {return interval;}
  public int getCounter()     {return counter ;}

  protected void proc() {
    File _file = new File(fileName);
    long _lastModified = _file.lastModified();

    if(lastModified != _lastModified) {
      System.out.println("File Name     = " + fileName);
      System.out.println("Last Modified = " + _file.lastModified());

      setChanged();
      mutex.lock();
      notifyObservers();
      mutex.unlock();
      lastModified = _lastModified;
    }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?