iCal4j解析ICS的会议请求

时间:2012-11-11 18:44:39

标签: java icalendar ical4j

我想使用iCal4j解析从Exchange收到的ics文件,为本地处理创建VEvent,并修改它们以创建新的时间提议(COUNTER方法)以便发送他们回到了交易所。 问题是我只能构建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();
}

最有可能的是,我可以从头开始创建回复,但如果我可以直接从邀请中创建回复,我想结果会更有可能发挥作用。此外,我真的希望避免手动解析文件,并使用字符串匹配和类似的东西进行攻击。

1 个答案:

答案 0 :(得分:0)

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

如果您将ics文件解析为Calendar对象,则我们的Properties只有METHODPRODIDVERSION案件。但它可能(并且很可能会)也有一些Components,例如VEventVTodo等,这是ics文件的实际内容。您可以使用

获取组件列表
ComponentList cl = cal.getComponents();

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