我需要自动将iCal的iCalendar日历导出到.ics文件中(显然是在Mac上)。我知道我可以在iCal中通过文件->导出手动完成此操作。我正在从共享日历中提取数据,以便在MATLAB中进行分析。然后,我想使用cron
来频繁地提取要分析的数据。
或者,如果有人知道日历数据本地存储在哪里,那么我想我应该能够解析该文件中的事件/数据。
可能不存在matlab实现,至少matlab文件交换没有列出任何内容。为了将日历数据输入Matlab,我会使用像iCal4j这样的Java库。您可以在m代码中直接调用java库。
在Matlab中还可以访问C、C++、dll和.Net。在我看来,java桥是最容易使用的,这就是我提出java解决方案的原因。
数据目录为~/Library/Calendars/[account]/[acalendar]每个子目录的名称都是UID。每个子目录都包含一个文件"info.plist":
账户:
...
<key>Key</key>
<string>[UID]</string>
<key>Login</key>
<string>[account, i.e. mail address]</string>
日历:
...
<key>Key</key>
<string>[UID]</string>
<key>Title</key>
<string>[Name of Calendar]</string>
事件存储在"Events"子目录中(每个事件有1.ics文件)