0

我想解析从 Exchange 收到的 ics 文件,iCal4j用于创建VEvent用于本地处理的文件,并修改它们以创建新的时间建议(COUNTER方法)以将它们发送回 Exchange。问题是我只能构建Calendar对象(参见下面的代码),没有VEvent.

File file = new File(PATH);
CalendarBuilder builder = new CalendarBuilder();
net.fortuna.ical4j.model.Calendar cal = null;
try {
    FileInputStream fis = new FileInputStream(file);
    cal = builder.build(fis);
} catch (Exception e) {
    e.printStackTrace();
}

最有可能的是,我可以从头开始创建回复,但如果我可以直接从邀请中创建回复,我想结果更有可能奏效。另外,我真的很想避免手动解析文件并使用字符串匹配之类的东西来破解。

4

1 回答 1

0

似乎解决方案相当简单,只是在我寻求帮助的 iCal4j 示例中没有详细说明。(对不起,我是新手程序员)。但是在查看了iCal4j 的 API 参考之后,我发现了以下内容:

如果您将 ics 文件解析为一个对象,在我们的例子中Calendar,它将只有几个Properties、 like和。但它也可能(并且很可能会)有一些组件,例如,等,这是 ics 文件的实际内容。您可以通过以下方式获取组件列表METHODPRODIDVERSIONVEventVTodo

ComponentList cl = cal.getComponents();

对我们来说,解析、修改和发送它们将比从头开始创建它们要容易得多。

于 2012-11-12T07:19:11.253 回答