를 해결해야한다.
이 클래스는 리스너와 화재 이벤트를 이해 관계자에게 추가/제거 할 수 있습니다.
예 :
public class FileWatcher {
private Timer timer;
public FileWatcher(File path) {
timer = new Timer("FileWather", true);
// Schedule task to start immeditaly and re-fire every second...
timer.scheduleAtFixedRate(new FileWatcherTask(), 0, 1000);
}
public void addFileWatcherListener(FileWatcherListener listener) {
//...
}
public void removeFileWatcherListener(FileWatcherListener listener) {
//...
}
protected void fireFileRemoved(File... files) {
//...
}
protected void fireFileAdded(File... files) {
//...
}
protected void fireFileChanged(File... files) {
//...
}
public class FileWatcherTask extends TimerTask {
@Override
public void run() {
// Look ma, no hands!
}
}
}
지금, 분명히, 당신은
FileWatcherListener
스스로를 정의해야합니다,하지만 기본 개념입니다. 당신이 자바 7을 사용하는 경우
지금은, 당신은 단지 대신
가장 좋은 대답은 FileSystem에서 제공하는 WatchService를 사용하여 답변의 마지막 부분에 있다고 생각합니다.1 + –
@HovercraftFullOfEels 동의합니다. 문맥이 없습니다. P가 자바 6을 사용하고 있거나 스스로 연습 할 수 있습니다. – MadProgrammer
이것은 멋지게 보입니다 (+1). 예, 자바 6을 사용하고 있습니다. (osx :() –