如何在一段时间间隔后从一个属性文件中删除条目?

时间:2010-09-24 06:17:53

标签: java multithreading

我有一个属性文件,其中包含一些记录,所以我需要在一段时间间隔之后删除记录,让我们花2分钟或3分钟,那么我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

您应该创建一个计时器任务,以便在将来的日期执行您的操作。看看Timer API

final Properties props = new Properties();
props.setProperty("key", "value");
props.store(outputStream, "Adding key=value");
TimerTask deletePropertyTask = new TimerTask() {
    public void run() {
        props.remove("key");
        props.store(outputStream, "Removing key");
    }
};
new Timer().schedule(deletePropertyTask, 3000L); // fire in 3 seconds

我在Scala REPL中测试了大致相同的版本。这是:

import java.util._
import java.io._
val props = new Properties
props.setProperty("key", "value")
props.store(System.out, "Message")
val task = new TimerTask() {
  def run = {
    props.remove("key")
    props.storeToXML(System.out, "no comment")
  }
}
new Timer().schedule(task, 3000l)
// the properties file is rewritten (to System.out) some 3 seconds later.