java生成ICS文件,这玩意好象是个什么日程表类的东西。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
");strActivityDates.append("PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN
");strActivityDates.append("VERSION:2.0
");strActivityDates.append("METHOD:PUBLISH
");ActivityBean atyBean = null;for (int i = 0; i < atyBeans.size(); i++) {atyBean = atyBeans.get(i);if (atyBean.isIsShow()) {strActivityDates.append("BEGIN:VEVENT
");String strDateTime = atyBean.getStartDateTime().replaceAll("-", "");strActivityDates.append("DTSTART:").append(strDateTime).append("
");String endDateTime = atyBean.getEndDateTime().replaceAll("-", "");strActivityDates.append("DTEND:").append(endDateTime).append("
");strActivityDates.append("LOCATION:").append(atyBean.getAtyName()).append("
");strActivityDates.append("TRANSP:OPAQUE
");strActivityDates.append("SEQUENCE:1
");strActivityDates.append("UID:8BB34ECC-1363-497B-B7CB-A268FD46CC7D
");String strNow = ISO8601Date.dateToString(new Date()).replaceAll("-", "");strActivityDates.append("DTSTAMP:").append(strNow).append("
");strActivityDates.append("DESCRIPTION:").append(atyBean.getAtyName()).append("
");strActivityDates.append("SUMMARY:").append(atyBean.getAtyName()).append("
");strActivityDates.append("END:VEVENT
");}}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();}