我想使用iCal4j
从交易所收到的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();
}
很可能,我可以从头开始创建答复,但是如果我可以直接从邀请中创建它们,我想结果更有可能工作。另外,我真的很想避免手动解析文件,然后用匹配的字符串匹配和涉嫌。
看来该解决方案很简单,在我正在寻求帮助的ICAL4J的示例中没有详细介绍。(对不起,我是新手程序员)。但是在研究了ICal4J的API参考后,我发现了以下内容:
如果您将ICS文件解析到Calendar
对象,则在我们的情况下,它将只有几个Properties
,例如METHOD
,PRODID
和VERSION
。但是它可能(很可能会)也有一些组件,例如VEvent
,VTodo
等,这是ICS文件的实际内容。您可以使用
ComponentList cl = cal.getComponents();
对我们来说,解析,修改和发送它们比从头开始创建它们要容易得多。