2009-03-23 30 views

Trả lời

8

Một search for Java and vcard sản lượng khá một vài kết quả.

Cụ thể, có Mime-Dir-j không còn hoạt động, nhưng có thể là tất cả những gì bạn cần và vcard4j dường như không hoạt động lâu hơn (bản phát hành cuối cùng năm 2003!).

+0

Tôi đã tìm thấy những dự án đó và hy vọng có một thứ gì đó khác trong phát triển tích cực, nhưng tôi sẽ thử chúng, cảm ơn tất cả các bạn. –

+1

Là một FYI nhanh chóng, Mime-Dir-j dường như bao gồm mã vcard4j nhưng cũng có nhiều sửa lỗi gần đây được áp dụng. –

0

Vâng, chỉ trong trường hợp bạn muốn sử dụng một chiếc điện thoại di động, JSR75 làm nó ngay ra khỏi hộp:

javax.microedition.pim.PIM.fromSerialFormat được quy định như hỗ trợ vCard 3.0

8

Cardme có vẻ là thư viện vcard tốt nhất xung quanh với sự phát triển năng động và thậm chí còn có một trang web wiki lên.

Kiểm tra dự án homepage.

19

ez-vcard hỗ trợ các phiên bản 2.1, 3.0 và 4.0 của tiêu chuẩn vCard, vCards được mã hóa XML (tiêu chuẩn "xCard"), vCards được mã hóa HTML (microformat "hCard") và vCards được mã hóa JSON (" jCard "chuẩn".

https://github.com/mangstadt/ez-vcard

Để đọc một tập tin vCard, sử dụng phương pháp Ezvcard.parse(). Sau đó, gọi các phương thức getter khác nhau trên đối tượng VCard trả về để truy xuất các trường dữ liệu vCard.

File file = new File("my-vcard.vcf"); 
VCard vcard = Ezvcard.parse(file).first(); 
System.out.println("Name: " + vcard.getFormattedName().getValue()); 
System.out.println("Email: " + vcard.getEmails().get(0).getValue()); 
+0

Hey, có vẻ như phân tích cú pháp .vcf tốt nhất cho đến nay, nhưng cho phép nói rằng tôi có .vcf có email nhà, email làm việc và email khác. Bạn có thể vui lòng hiển thị ví dụ chi tiết về cách tôi lưu trữ các loại email khác nhau (nhà riêng, công việc khác) vào chuỗi emailHome, emailWork, emailOther? vcard.getEmails(). get (0) .getValue(); luôn đưa ra đầu tiên, nhưng làm thế nào để biết đó là email nhà hoặc email công việc hoặc email khác? –

+1

@Marko Gọi phương thức "getTypes()" trên mỗi đối tượng email để nhận danh sách các tham số "loại". Sau đó, bạn có thể kiểm tra xem loại của nó là "nhà riêng" hoặc "cơ quan": email.getTypes(). Chứa (EmailTypeParameter.HOME); – Michael

+2

+1 hoạt động phát triển – kommradHomer