PST (Personal Storage Table) adalah format file terkenal yang digunakan untuk tujuan penyimpanan oleh berbagai program Microsoft seperti MS Outlook, Exchange, dan Windows Messaging. File PST dapat menyimpan pesan, kontak, dan informasi tentang item lain seperti kalender, acara, dll. Dalam kasus tertentu, Anda mungkin perlu mengurai file PST dan mengekstrak data darinya secara terprogram. Untuk mencapainya, artikel ini menunjukkan cara membaca file Outlook PST di Java. Dengan bantuan contoh kode, Anda akan mempelajari cara mengekstrak informasi folder, membaca email, dan mengambil kontak dari file PST.
- Java API untuk Membaca File Outlook PST
- Baca File PST Outlook di Jawa
- Baca Email dari File PST
- Ekstrak Kontak dari File PST
Java API untuk Memproses File PST Outlook - Unduhan Gratis
Aspose.Email for Java adalah API pemrosesan email yang populer dan kaya fitur untuk membuat dan mengirim email. Selain itu, ini memungkinkan Anda bekerja dengan klien email populer dan format file penyimpanan. Pada artikel ini, kami akan menggunakan Aspose.Email for Java untuk membaca pesan dan informasi lain dari file PST. Anda dapat mengunduh API atau menginstalnya menggunakan konfigurasi Maven berikut.
Gudang:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
Ketergantungan:
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.3</version>
<classifier>jdk16</classifier>
</dependency>
Baca File PST Outlook di Jawa
Berikut ini adalah langkah-langkah untuk membaca file PST dan mengekstrak informasinya di Java.
- Muat file PST menggunakan metode PersonalStorage.fromFile().
- Dapatkan koleksi folder di PST menggunakan metode PersonalStorage.getRootFolders().getSubFolders().
- Ambil informasi folder seperti nama, jumlah item, dll.
Contoh kode berikut menunjukkan cara membaca file PST dan mengambil informasi folder di Java.
// Muat file Outlook PST
PersonalStorage pst = PersonalStorage.fromFile("PersonalStorage.pst");
// Dapatkan informasi folder
FolderInfoCollection folderInfoCollection = pst.getRootFolder().getSubFolders();
// Jelajahi setiap folder untuk menampilkan informasi
for (int i = 0; i < folderInfoCollection.size(); i++) {
FolderInfo folderInfo = (FolderInfo) folderInfoCollection.get_Item(i);
System.out.println("FolderId: " + folderInfo.getEntryIdString());
System.out.println("Folder: " + folderInfo.getDisplayName());
System.out.println("Total items: " + folderInfo.getContentCount());
System.out.println("Total unread items: " + folderInfo.getContentUnreadCount());
System.out.println("-----------------------------------");
}
Java Baca Email dari PST
Berikut ini adalah langkah-langkah untuk membaca pesan email dari file PST di Java.
- Muat file PST menggunakan metode PersonalStorage.fromFile().
- Akses folder root menggunakan metode PersonalStorage.getRootFolder().
- Dapatkan koleksi pesan dari setiap subfolder menggunakan metode FolderInfo.getContents().
- Telusuri pesan dalam koleksi dan baca setiap bidang pesan.
Contoh kode berikut menunjukkan cara mengekstrak pesan dari file PST di Java.
// Muat file Outlook PST
PersonalStorage pst = PersonalStorage.fromFile(path);
// Dapatkan Format Tampilan file PST
System.out.println("Display Format: " + pst.getFormat());
// Dapatkan informasi folder dan pesan
FolderInfo folderInfo = pst.getRootFolder();
// Panggil metode rekursif untuk mengekstrak file msg dari setiap folder
extractMsgFiles(folderInfo, pst);
// Ini adalah metode rekursif untuk menampilkan isi folder
private static void extractMsgFiles(FolderInfo folderInfo, PersonalStorage pst) {
// menampilkan nama folder
System.out.println("Folder: " + folderInfo.getDisplayName());
System.out.println("==================================");
// Ulangi semua pesan di folder ini
MessageInfoCollection messageInfoCollection = folderInfo.getContents();
for (MessageInfo messageInfo : messageInfoCollection) {
System.out.println("Saving message {0} ...." + messageInfo.getSubject());
// Dapatkan pesan dalam contoh MapiMessage
MapiMessage message = pst.extractMessage(messageInfo);
// Simpan pesan ini ke disk dalam format pesan
message.save(message.getSubject().replace(":", " ") + ".msg");
// Simpan pesan ini untuk streaming dalam format pesan
ByteArrayOutputStream messageStream = new ByteArrayOutputStream();
message.save(messageStream);
}
// Panggil metode ini secara rekursif untuk setiap subfolder
if (folderInfo.hasSubFolders() == true) {
for (FolderInfo subfolderInfo : folderInfo.getSubFolders()) {
extractMsgFiles(subfolderInfo, pst);
}
}
}
Baca Kontak dari PST di Jawa
Dalam kasus tertentu, Anda mungkin perlu mengekstrak informasi kontak yang disimpan dalam file PST. Langkah-langkah berikut menunjukkan cara mengakses kontak dalam file PST di Java.
- Muat file PST menggunakan metode PersonalStorage.fromFile().
- Dapatkan referensi folder kontak menggunakan metode PersonalStorage.getRootFolder().getSubFolder(“Contacts”).
- Dapatkan kumpulan kontak menggunakan metode FolderInfo.getContents().
- Ulangi koleksi kontak dan baca setiap kontak atau simpan.
Contoh kode berikut menunjukkan cara mengekstrak kontak dari file PST di Java.
// Muat file Outlook PST
PersonalStorage pst = PersonalStorage.fromFile("SampleContacts.pst");
// Dapatkan folder Kontak
FolderInfo folderInfo = pst.getRootFolder().getSubFolder("Contacts");
// Ulangi semua kontak di folder ini
MessageInfoCollection messageInfoCollection = folderInfo.getContents();
for (int i = 0; i < messageInfoCollection.size(); i++) {
MessageInfo messageInfo = (MessageInfo) messageInfoCollection.get_Item(i);
// Dapatkan informasi kontak
MapiContact contact = (MapiContact) pst.extractMessage(messageInfo).toMapiMessageItem();
// Menampilkan beberapa konten di layar
System.out.println("Name: " + contact.getNameInfo().getDisplayName() + "\n");
// Simpan ke disk dalam format MSG
if (contact.getNameInfo().getDisplayName() != null) {
MapiMessage message = pst.extractMessage(messageInfo); // Get rid of illegal characters that cannot be used as a file name
String messageName = message.getSubject().replace(":", " ").replace("\\", " ").replace("?", " ").replace("/", " ");
message.save(messageName + ".msg");
}
}
Java API untuk Membaca File Outlook PST - Dapatkan Lisensi Gratis
Anda dapat mencoba Aspose.Email for Java secara gratis dengan mendapatkan lisensi sementara.
Kesimpulan
Pada artikel ini, Anda telah mempelajari cara membaca file PST secara terprogram di Java. Selain itu, Anda telah melihat cara mengekstrak informasi folder, mengambil email, dan mengambil kontak dari file PST di Java. Selain itu, Anda dapat mempelajari lebih lanjut tentang Aspose.Email for Java menggunakan dokumentasi. Selain itu, jika Anda memiliki pertanyaan atau permintaan, silakan beri tahu kami melalui forum kami.