下载此文档

icalendar 编程基础.docx


文档分类:IT计算机 | 页数:约36页 举报非法文档有奖
1/36
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/36 下载此文档
文档列表 文档介绍
1
iCalendar 编程基础
作为“日历数据交换”的标准,iCalendar 目前在各种流行日历工具中被广泛的接受。本文将介绍 iCalendar 标准和日历文件格式,以及读写/处理 iCalendar 数据流的 API -准,iCalendar 目前在各种流行日历工具中被广泛的接受。本文将介绍 iCalendar 标准和日历文件格式,以及读写/处理 iCalendar 数据流的 API -- iCal4j。最终呈现如何利用 iCal4j 进行读写日历文件、对 iCalendar 进行索引、创建大事、添加二进制数据、创建循环大事以及如何扩展组件/大事/属性等操作。
作。CalendarBuilder 对象是用来通过输入流解析和构造 iCalendar 模型。值得留意的是, CalendarBuilder 并不是 线程平安的。
清单 1:iCalendar 文件读写示例
5
public static void readAndWrite(String in, String out)
throws IOException, ParserException, ValidationException {
FileInputStream fin = new FileInputStream(in);
CalendarBuilder builder = new CalendarBuilder();
Calendar calendar = (fin);
//TODO: 对 iCalendar 数据进行处理
… …
FileOutputStream fout = new FileOutputStream(out);
CalendarOutputter outputter = new CalendarOutputter();
(calendar, fout);
}
iCalendar 索引
对组件和属性进行索引之后,我们可以更加有效的查找组件和属性,通常状况下大家用索引去不断地检查某大事(或商定等)是否存在。假定一个场景,您经常性的需要更新一些日历,并且需要检查大事是否已经存在。由于您需要不断地检查日历中的大事,此时对日历中的大事进行索引将是一件有意义的事情。
6
清单 2:iCalendar 索引
// 创建索引列表
IndexedComponentList indexedEvents = new IndexedComponentList(
(), );
// 检查大事
for (Iterator i=().iterator(); ();){
VEvent event = (VEvent) ();
Component existing = (().getValue());
if (existing == null) {
().add(event);
}
else if (!(existing)) {
// 删除已经存在的大事并添加修改后的大事
().remove(existing);
7
().add(event);
}
}
如清单 2 所示,这里请留意,UID 被用来标示唯一的大事。在得到索引组件列表后,我们就可以通过 UID 来检查某一大事是否存在。假如存在的话,修改该大事;否则,添加该大事。
创建日历/大事/会议
iCalendar 向我们供应了一种公共的数据格式用于存储关于日历方面的信息比如大事、商定、待办事项等,那么如何创建大事/商定/待办大事就是一个大家比较关怀的问题,如清单 3。一个日历,有一些基本的属性是必需的,例如 prodid 和 version,但是又只能有一次,一些是可选的,例如 calscale,具体的可以参考 RFC 2445。
清单 3:创建一个大事示例
// 创建一个时区(TimeZone)
8
TimeZoneRegistry registry = TimeZoneRegistryFac

icalendar 编程基础 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数36
  • 收藏数0 收藏
  • 顶次数0
  • 上传人麒麟才子
  • 文件大小26 KB
  • 时间2022-07-02