/*** 导入文件

*

*@throwsParserException

*@throwsIOException*/@Testpublic void importFile() throwsIOException, ParserException {

FileInputStream fis= new FileInputStream("D://工作台//18013093863@189.cn1.ics");

CalendarBuilder build= newCalendarBuilder();

Calendar calendar=build.build(fis);for (Iterator i =calendar.getComponents(Component.VEVENT).iterator(); i.hasNext();) {

VEvent event=(VEvent) i.next();//开始时间

System.out.println("开始时间:" +event.getStartDate().getValue());//结束时间

System.out.println("结束时间:" +event.getEndDate().getValue());if (null != event.getProperty("DTSTART")) {

ParameterList parameters= event.getProperty("DTSTART").getParameters();if (null != parameters.getParameter("VALUE")) {

System.out.println(parameters.getParameter("VALUE").getValue());

}

}//主题

System.out.println("主题:" +event.getSummary().getValue());//地点

if (null !=event.getLocation()) {

System.out.println("地点:" +event.getLocation().getValue());

}//描述

if (null !=event.getDescription()) {

System.out.println("描述:" +event.getDescription().getValue());

}//创建时间

if (null !=event.getCreated()) {

System.out.println("创建时间:" +event.getCreated().getValue());

}//最后修改时间

if (null !=event.getLastModified()) {

System.out.println("最后修改时间:" +event.getLastModified().getValue());

}//重复规则

if (null != event.getProperty("RRULE")) {

System.out.println("RRULE:" + event.getProperty("RRULE").getValue());

}//提前多久提醒

for (Iterator alrams =event.getAlarms().iterator(); alrams.hasNext();) {

VAlarm alarm=(VAlarm) alrams.next();

Pattern p= Pattern.compile("[^0-9]");

String aheadTime=alarm.getTrigger().getValue();

Matcher m=p.matcher(aheadTime);int timeTemp = Integer.valueOf(m.replaceAll("").trim());if (aheadTime.endsWith("W")) {

System.out.println("提前多久:" + timeTemp + "周");

}else if (aheadTime.endsWith("D")) {

System.out.println("提前多久:" + timeTemp + "天");

}else if (aheadTime.endsWith("H")) {

System.out.println("提前多久:" + timeTemp + "小时");

}else if (aheadTime.endsWith("M")) {

System.out.println("提前多久:" + timeTemp + "分钟");

}else if (aheadTime.endsWith("S")) {

System.out.println("提前多久:" + timeTemp + "秒");

}

}//邀请人

if (null != event.getProperty("ATTENDEE")) {

ParameterList parameters= event.getProperty("ATTENDEE").getParameters();

System.out.println(event.getProperty("ATTENDEE").getValue().split(":")[1]);

System.out.println(parameters.getParameter("PARTSTAT").getValue());

}

System.out.println("----------------------------");

}

}

java 解析 ical_ical4j 实现ICS文件的生成和解析相关推荐

  1. ical4j 实现ICS文件的生成和解析

    https://www.cnblogs.com/parryyang/p/5948436.html

  2. springboot 上传文件解析入库_springboot实现文件上传步骤解析

    这篇文章主要介绍了springboot实现文件上传步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 第一步编写上传的前段页面 data-tar ...

  3. java resource放入的文件没有生成在classes中_JAVA程序员学习笔记----mybatis深入剖析...

    Java中提到持久层框架,相信没有人不知道mybatis的存在,相对于JDBC她多了一份干练(jdbc工作量大),相对于Hibernate她又多了一份灵动(HQL虽然方便,但太呆板).今天我们就一起走 ...

  4. java resource放入的文件没有生成在classes中_快速部署版@开源在线考试系统一键生成各种题型试卷且实时判卷...

    首先声明此项目来自开源网,小编也是爱好者: 阅读本文之前相信已经阅读过[开源在线考试系统一键生成各种题型试卷且可以实时判卷] 开源在线考试系统一键生成各种题型试卷且可以实时判卷 本文分享快速部署版ja ...

  5. python解析通达信day文件,生成csv文件,期货历史回测

    import os import struct import datetime# 读取通达信.day文件,并生成对应名称的csv文件 def stock_csv(filepath, name, tar ...

  6. java利用zxing来生成和解析二维码,支持中文

    java在二维码的生成和解析上,网上有些人说如果要解析中文,得去修改工具包的Encoder类中的 static final String DEFAULT_BYTE_MODE_ENCODING = &q ...

  7. java代码实现二维码图片的生成和解析

    2015年什么最火,二维码,2016年随处可见的是什么,二维码.二维码的历史我们就不探究了,今天分享的是利用Java代码实现二维码的生成和解析.Java代码生成和解析二维码涉及到的东西比较多,还需要引 ...

  8. 二维码登录原理及生成与解析

    一.前言 这几天在研究二维码的扫码登录.初来乍到,还有好多东西不懂.在网上看到有人写了一些通过QRCode或者Zxing实现二维码的生成和解码.一时兴起,决定自己亲手试一试.本人是通过QRCode实现 ...

  9. 【文件上传绕过】——解析漏洞_IIS7.0 | IIS7.5 | Nginx的解析漏洞

    文章目录 一.实验目的: 二.工具: 三.实验环境: 四.漏洞说明: 1.  `nginx解析漏洞`(实验环境:`Nginx1.4.6` ): 1.1 原理: 1.2 漏洞形式: 1.3 另外两种解析 ...

最新文章

  1. 高亮提示、聚焦控件并滚动到浏览器中干好可以查看到该控件的位置
  2. 内含福利|CSDN 携手字节跳动:云原生Meetup北京站报名热烈启动,1月8日见!
  3. MathType公式行距设置的方法
  4. Android弹窗组件工作机制之Dialog、DialogFragment(二)
  5. android软件开发考试,Android软件工程师笔试题(全选择题)【0-1年经验】
  6. docker mysql编辑器_docker官方mysql镜像自定义配置详解
  7. python在win7中不能运行_Python3.6在win7中无法正常运行的问题
  8. java让日志生成日期文件夹_SpringBoot按日期和文件大小生成日志文件到对应日期文件夹...
  9. Eureka 客户端不注册
  10. puppet报告系统 dashboard
  11. mysql 数据库dbhelp_策略模式实现支持多种类数据库的DBHelp
  12. 使用 matlab 数字图像处理(七)—— 频率域处理
  13. 计算机网络 chapter 6 应用层
  14. sublime 如何使用less_【图文】5分钟可以学会在vue里使用sass?
  15. 奥本海姆信号与系统第2版笔记和课后答案
  16. 泛微平台ecology8.0二进制文件流下载对接接口
  17. IE浏览器GET请求中文乱码
  18. java盘古分词_盘古分词-开源中文分词组件 搜索引擎
  19. linux下启动Nacos报错解决:which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
  20. 联想a366t 刷android4,联想A366t线刷刷机教程(刷官方rom)

热门文章

  1. 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序 解决方案
  2. CSDN博客如何转载
  3. 梯度下降优化算法总结
  4. 轩辕炼妖录java_一个Java对象的回忆录:那些被锁住的日子
  5. 怎样设置电脑壁纸_谷歌地球实时壁纸,电脑和手机实现方案都在这里了
  6. CCCC/PTA 2019模拟赛 L3-3 至多删三个字符
  7. ROS入门-9.订阅者Subscriber的编程实现
  8. 前端 | 每天一个 LeetCode
  9. I9 9900K线程_收藏党抓紧了!英特尔停产i9-9900K特色包装,只因运输太浪费
  10. html 倒计时关闭对话框,jquery倒计时广告特效代码 可关闭的js倒计时