将对象序列化为XML并追加1天

时间:2012-05-18 15:43:58

标签: java xml parsing serialization sax

所以,我提出了另一个问题“Save object data to a file”,我意识到我不够具体。

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

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[];
}

我不确定如何做到这一点。

2 个答案:

答案 0 :(得分:3)

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

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

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

希望这有帮助。

答案 1 :(得分:2)

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