我想使用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();
}
最有可能的是,我可以从头开始创建回复,但如果我可以直接从邀请中创建回复,我想结果会更有可能发挥作用。此外,我真的希望避免手动解析文件,并使用字符串匹配和类似的东西进行攻击。
答案 0 :(得分:0)
似乎解决方案相当简单,在iCal4j的示例中并没有详细说明,我正在寻求帮助。 (对不起,我是新手程序员)。但在查看API reference of iCal4j之后,我发现了以下内容:
如果您将ics文件解析为Calendar
对象,则我们的Properties
只有METHOD
,PRODID
和VERSION
案件。但它可能(并且很可能会)也有一些Components,例如VEvent
,VTodo
等,这是ics文件的实际内容。您可以使用
ComponentList cl = cal.getComponents();
对我们来说,解析,修改和发送它们比从头创建它们要容易得多。