`
悠悠晃晃
  • 浏览: 39983 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

Java生成ics文件

阅读更多
java生成ICS文件,这玩意好象是个什么日程表类的东西。可以导入到outlook里面用。
public void exportActivityDates(HttpServletRequest request, HttpServletResponse response)
			throws Exception {		
	MenuBean menuBean = (MenuBean) request.getSession().getAttribute(SystemConstants.JE_MENU_BEAN);
	Vector<ActivityBean> atyBeans = (Vector<ActivityBean>) menuBean.getLearningActivities();
 
	StringBuffer strActivityDates = new StringBuffer();
	strActivityDates.append("BEGIN:VCALENDAR\n");
	strActivityDates.append("PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN\n");
	strActivityDates.append("VERSION:2.0\n");
	strActivityDates.append("METHOD:PUBLISH\n");
	ActivityBean atyBean = null;
	for (int i = 0; i < atyBeans.size(); i++) {
		atyBean = atyBeans.get(i);
		if (atyBean.isIsShow()) {
			strActivityDates.append("BEGIN:VEVENT\n");
			String strDateTime = atyBean.getStartDateTime().replaceAll("-", "");
			strActivityDates.append("DTSTART:").append(strDateTime).append("\n");
			String endDateTime = atyBean.getEndDateTime().replaceAll("-", "");
			strActivityDates.append("DTEND:").append(endDateTime).append("\n");
			strActivityDates.append("LOCATION:").append(atyBean.getAtyName()).append("\n");
			strActivityDates.append("TRANSP:OPAQUE\n");
			strActivityDates.append("SEQUENCE:1\n");
			strActivityDates.append("UID:8BB34ECC-1363-497B-B7CB-A268FD46CC7D\n");
			String strNow = ISO8601Date.dateToString(new Date()).replaceAll("-", "");
			strActivityDates.append("DTSTAMP:").append(strNow).append("\n");
			strActivityDates.append("DESCRIPTION:").append(atyBean.getAtyName()).append("\n");
			strActivityDates.append("SUMMARY:").append(atyBean.getAtyName()).append("\n");
			strActivityDates.append("END:VEVENT\n");
		}
	}
	strActivityDates.append("END:VCALENDAR");
	OutputStream outputstream = response.getOutputStream();
 
	response.reset();
	response.setHeader("content-disposition", "attachment;filename=activityDates.ics");
	response.setContentType("text/calendar");
 
	byte[] bytes = strActivityDates.toString().getBytes("UTF-8");
	for (int i = 0; i < bytes.length; i++)
		outputstream.write(bytes[i]);
	outputstream.close();
	response.flushBuffer();
	response.getWriter();
}
0
0
分享到:
评论
1 楼 cgs1999 2017-01-09  
这种字符串的方式不是很灵活,建议调整为模板的方式,如freemaker

相关推荐

    java EPS ICS WORD文档

    【Java EPS ICS WORD文档】相关的知识点主要集中在Java编程中对Excel文件的处理,这里主要讲解的是使用Java Excel API(jxl库)进行Excel文件的读取和操作。 1. **Java Excel API**: Java Excel API是一个开源...

    java后台批量下载文件并压缩成zip下载的方法

    Java后台批量下载文件并压缩成zip下载的方法 Java后台批量下载文件并压缩成zip下载的方法是指在Java后台中批量下载文件,并将其压缩成zip文件下载到本地桌面。该方法具有重要的参考价值,感兴趣的小伙伴们可以参考...

    java8源码-ICS:SpringCloud项目集成

    java8 源码 ICS项目 模型篇 请求出入参 请求入参 所有Controller入参,一律使用 DTO结尾进行交互 所有 DTO 命名,前面采用驼峰命名,后面DTO大写 所有DTO内参数,如果是一组,请用List&lt;类型&gt;进行接口,尽量不用分隔符隔...

    java发送OutLook会议邮件

    首先,我们需要理解Outlook会议邮件实际上是一种特殊的邮件,它包含了会议的时间、地点以及参与者等信息,通常以iCalendar(.ics)文件的形式发送。Java中可以通过SMTP(Simple Mail Transfer Protocol)协议与...

    ApkTool(ICS4)

    在ApkTool的工作流程中,aapt.exe通常用于生成R.java文件,这个文件包含了应用中所有资源的ID。 3. **apktool.jar**:这是ApkTool的核心组件,是一个Java可执行文件,包含了解包、打包、反编译和重新编译APK所需的...

    ICS的lab4和lab5

    汇编器的工作是将这些助记符解析成对应的机器码,并进行符号地址解析、错误检查和生成可执行文件。理解汇编器的实现涉及理解地址解析、符号表管理、以及如何生成和链接目标代码。 在实现这两个实验室练习时,通常会...

    schichtplan-zu-ics:Erstellt aus einer PDF eine ICS-Datei

    7. **日历同步**:生成的ICS文件可以直接导入到各种支持iCalendar的日历应用中,用户无需手动输入排班信息,提高了时间和信息管理的效率。 8. **自动化工作流程**:对于经常需要处理排班表的个人或团队,...

    ICS-370-FP3

    【ICS-370-FP3】项目是一个与Java编程相关的学习或工作实践,其中"FP3"可能代表Final Project 3,暗示这是一个系列项目中的第三个阶段。在深入讨论相关知识点之前,先来理解一下Java语言的基础。 Java是一种广泛...

    SearchEngine:内置Java的搜索引擎,可从www.ics.uci.edu域检索信息

    用Java开发了令牌生成器,可以对任何给定的文件进行令牌化,并以O(n ^ 2)的时间打印令牌,2-gram和它们的频率。 另外,Web爬网程序是用Java设计的,用于从Internet检索信息,并使用该爬网程序构建了搜索引擎。

    错误:找不到或无法加载主类com.xxx.xxx.Application(完美解决)

    这个错误通常发生在尝试运行Java应用程序时,它表明JVM(Java虚拟机)无法找到或正确加载指定的主类。在这个问题中,我们将深入探讨其原因以及提供几种可能的解决方案。 首先,我们需要理解这个错误的根本原因。...

    ical4j-1.0.3-src

    1. iCalendar解析:它能将iCalendar格式的数据(通常以.ics文件结尾)转换为Java对象,便于程序处理。这涵盖了VEvent(事件)、VTodo(任务)、VJournal(日记)等iCalendar组件。 2. iCalendar生成:ical4j允许...

    Delphi WEB SERVICE12

    - **生成WSDL**:通过编译项目,Delphi自动生成对应的WSDL文件,描述了服务的接口和实现。 3. **部署与调用** - **部署Web服务**:将编译后的可执行文件和必要的支持文件(如WSDL)部署到服务器上,确保服务器...

    ical4j,用于解析和构建ICANDEAR数据模型的Java库.zip

    1. **解析iCalendar文件**:ical4j能够读取iCalendar文件(通常扩展名为`.ics`),将其内容转换为Java对象模型。这使得开发者可以方便地访问和操作日历数据,例如事件、任务、日程等。 2. **构建iCalendar对象**:...

    节日查询转换使用的方法

    1. **读取iCalendar文件**:使用`ical4j`库读取`.ics`文件,解析成事件对象列表。 2. **事件转换**:将iCalendar事件转换为Android的`CalendarContract`对象,以便插入到系统的日历提供者中。 3. **节日查询**:根据...

    4.0编译反编译教程

    aapt全称为Android Asset Packaging Tool,用于处理安卓应用的资源文件,如编译资源、生成R.java文件等。 下面是详细的步骤: 1. 下载所需文件: - Apktool 1.4.2.31e6dc5.jar - 最新版本的R16 SDK中的aapt.exe ...

    ical4j-1.0.jar

    1. **解析iCalendar文件**:ical4j可以解析`.ics`文件或iCalendar格式的字符串,将其转换为Java对象,使得你可以方便地访问和操作日历事件的各个组件,如VEVENT(事件)、VTODO(任务)和VJOURNAL(日记)。...

    textris:扭曲的俄罗斯方块(ICS4U 最终项目)

    《textris:扭曲的俄罗斯方块——一个Java实现的ICS4U最终项目》 本文将探讨一个基于Java编程语言的特殊项目——“textris”,这是一个文本输入方式的扭曲版俄罗斯方块游戏,它是作者在2015年6月12日作为ICS4U课程...

    APKTool_APKTool

    这个过程包括编译Java源代码回.dex文件,重新构建资源文件,并生成新的签名和对齐的APK,以确保其能在Android设备上正常安装和运行。 在使用APKTool时,需要注意一些关键点: - **签名与对齐**:反编译和重新打包...

    Jpcap详细使用说明

    2. **利用Jpcap实现网络流量图示分析**:Jpcap可以用于实时捕获网络流量,通过解析数据包,可以生成流量图表,帮助用户直观理解网络状态。 3. **实现网络Ethereal工具**:Ethereal是一款著名的网络分析工具,Jpcap...

    MT72 build文档

    - **静态/共享库、主机/目标Java二进制文件、可执行文件、APK、Javadoc/DroidDoc**:构建过程中会生成这些类型的文件,以支持系统的运行和维护。 #### Android镜像 - **Kernel相关的镜像**:Boot镜像、Recovery...

Global site tag (gtag.js) - Google Analytics