1

所以,我提出了另一个问题“将对象数据保存到文件”,我意识到我不够具体。

我正在编写的程序可以很好地保存文件的历史数据,所以我的目标是这样的:

if timePolled > midnight
   if fileExists(fileName)
       appendData()
   else
       createFile(data_dd_mm_yy) // in xml
endif

看我上面都是VB... ick

无论如何,对象本身看起来像这样:

public class IHandler{
    public double currentLoad;
    public String currentPrice;
    public String configArgs[];
}

我不确定我将如何去做。

4

2 回答 2

3

如果我理解正确,您想知道如何安排重复任务。这是如何做到的。首先,您需要一个可运行类,其中包含要在 run() 函数中执行的逻辑(即 VB 代码中顶层 if 语句中的内容)。假设有一个名为“task”的类的实例。然后,您需要执行以下操作:

ScheduledExecutorService exService = Executors.newScheduledThreadPool(CORE_POOL_SIZE);
exService.scheduleAtFixedRate(task, numberOfSecondsTilMidnight, 
                                        twentyFourHoursInSeconds, TimeUnit.SECONDS);

其中 numberOfSecondsTilMidnight 是根据当前系统时间计算的,而 twoFourHoursInSeconds 仅为 24*60*60(这是运行它的频率。

希望这可以帮助。

于 2012-05-18T17:00:28.010 回答
2

对于序列化,Xstream ( http://x-stream.github.io/ ) 可以解决问题。然后剩下的你可以用简单的 Java 文件 IO 来处理。

于 2012-05-18T16:53:27.483 回答