gpt4 book ai didi

java - 使用 java 编写 .ics iCal 文件

转载 作者:搜寻专家 更新时间:2023-10-31 20:10:32 25 4
gpt4 key购买 nike

我正在尝试使用 java 实现我自己的 iCal 创建器,但出于某种原因我无法识别我的 .ics 文件。我想知道我做错了什么我可以获得与维基百科示例完全一样的输出。 .ics 文件和我的程序生成的 once 之间有什么区别。

他们的例子:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:uid1@example.com
DTSTAMP:19970714T170000Z
ORGANIZER;CN=John Doe:MAILTO:john.doe@example.com
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR

我的 .ics 文件

BEGIN:VCALENDAR 
VERSION:1.0
PRODID://Elara/lofy/tanare/delp/314sum2015//
BEGIN:VEVENT
UID:uid1@example.com
DTSTAMP:19970714T170000Z
ORGANIZER;CN=John Doe:MAILTO:john.doe@example.com
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR

这是用于生成 .ics 文件的代码。

    import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

public class iCal {

private String version = "VERSION:1.0 \n";
private String prodid = "PRODID://Elara/lofy/tanare/delp/314sum2015// \n";
private String calBegin = "BEGIN:VCALENDAR \n";
private String calEnd = "END:VCALENDAR \n";
private String eventBegin = "BEGIN:VEVENT \n";
private String eventEnd = "END:VEVENT \n";

public void iCal(){
}

public void write( String name ){
StringBuilder builder = new StringBuilder();
builder.append(name);
builder.append(".ics");

String testExample = "UID:uid1@example.com\nDTSTAMP:19970714T170000Z\nORGANIZER;
CN=John Doe:MAILTO:john.doe@example.com\nDTSTART:19970714T170000Z
\nDTEND:19970715T035959Z\nSUMMARY:Bastille Day Party\n";

try {

File file = new File(builder.toString());

// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}

FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(calBegin);
bw.write(version);
bw.write(prodid);
bw.write(eventBegin);
bw.write(testExample);
bw.write(eventEnd);
bw.write(calEnd);

bw.close();

System.out.println("Done");
} catch (IOException e) {
e.printStackTrace();
}
}
}

最佳答案

您可以使用 iCal4j API用于日历。

关于java - 使用 java 编写 .ics iCal 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31238492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com