2012-11-11 3 views
0

iCal4j을 사용하여 Exchange에서받은 ics 파일을 구문 분석하여 로컬 처리를 위해 VEvent을 만들고이를 수정하여 Exchange로 다시 보내도록 새 시간 제안 (COUNTER 메서드)을 만듭니다. 문제는 Calendar 개체 (아래 코드 참조) 만 만들 수 있었으며, 아니요, VEvent입니다.ICS의 iCal4j 구문 분석 모임

File file = new File(PATH); 
CalendarBuilder builder = new CalendarBuilder(); 
net.fortuna.ical4j.model.Calendar cal = null; 
try { 
    FileInputStream fis = new FileInputStream(file); 
    cal = builder.build(fis); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

대부분의 아마, 나는 처음부터 응답을 만들 수있을 것입니다,하지만 난 그들을 만들 수 있다면 직접 초대, 나는 결과가 작동 할 가능성이있을 것 같아요. 또한 필자는 수동으로 파일을 구문 분석하지 않고 문자열 일치와 같은 것을 해킹하고 싶습니다.

답변

0

솔루션이 다소 단순한 것처럼 보입니다. iCal4j의 예에서 자세히 설명하지 않았습니다. 도움을 요청하고 있습니다. (미안, 나는 초보 프로그래머이다.) 당신이 Calendar 객체에 ICS 파일을 구문 분석하는 경우

, 그것은 우리의 경우 METHOD, PRODIDVERSION처럼 Properties 몇이있을 것이다 : 그러나 API reference of iCal4j에보고 후, 나는 다음과 같은 발견했다. 그러나 그것은 아마도 Components도 가지고 있을지도 모릅니다. VEvent, VTodo 등, ics 파일의 실제 내용입니다. 당신은, 구문 분석 수정하고 처음부터 그들을 만드는 것보다 훨씬 쉽게 될 것입니다 전송, 우리를 위해

ComponentList cl = cal.getComponents(); 

와 구성 요소 '목록을 얻을 수 있습니다.