PST (Personal Storage Table) הוא פורמט קובץ ידוע המשמש למטרות אחסון על ידי תוכניות שונות של מיקרוסופט כגון MS Outlook, Exchange ו-Windows Messaging. קובצי PST יכולים לאחסן הודעות, אנשי קשר ומידע על פריטים אחרים כגון לוחות שנה, אירועים וכו’. במקרים מסוימים, ייתכן שיהיה עליך לנתח קובץ PST ולחלץ ממנו נתונים באופן תוכנתי. כדי להשיג זאת, מאמר זה מראה כיצד לקרוא קבצי Outlook PST ב-Java. בעזרת דוגמאות קוד, תלמדו כיצד לחלץ מידע של תיקיות, לקרוא מיילים ולהביא אנשי קשר מקובץ PST.
- Java API לקריאת קובץ PST של Outlook
- קרא קובץ PST של Outlook ב-Java
- קרא אימיילים מקובץ PST
- חלץ אנשי קשר מקובץ PST
Java API לעיבוד קובץ PST של Outlook - הורדה חינם
Aspose.Email for Java הוא ממשק API לעיבוד דוא"ל פופולרי ועשיר בתכונות ליצירה ושליחה של אימיילים. בנוסף, זה מאפשר לך לעבוד עם לקוחות דוא"ל פופולריים ופורמטים של קבצי אחסון. במאמר זה, נשתמש ב-Aspose.Email עבור Java כדי לקרוא הודעות ומידע אחר מקובצי PST. אתה יכול להוריד את ה-API או להתקין אותו באמצעות התצורות הבאות של Maven.
מאגר:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
תלות:
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.3</version>
<classifier>jdk16</classifier>
</dependency>
קרא קובץ PST של Outlook ב-Java
להלן השלבים לקריאת קובץ PST ולחלץ את המידע שלו ב-Java.
- טען את קובץ ה-PST באמצעות שיטת PersonalStorage.fromFile().
- קבל את אוסף התיקיות ב-PST באמצעות שיטת PersonalStorage.getRootFolders().getSubFolders().
- אחזר את המידע של התיקיות כגון שם, מספר פריטים וכו'.
דוגמת הקוד הבאה מראה כיצד לקרוא קובץ PST ולאחזר מידע של תיקיות ב-Java.
// טען את קובץ PST של Outlook
PersonalStorage pst = PersonalStorage.fromFile("PersonalStorage.pst");
// קבל את מידע התיקיות
FolderInfoCollection folderInfoCollection = pst.getRootFolder().getSubFolders();
// עיין בכל תיקיה כדי להציג מידע
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 קרא אימיילים מ-PST
להלן השלבים לקריאת הודעות דואר אלקטרוני מקובץ PST ב-Java.
- טען את קובץ ה-PST בשיטת PersonalStorage.fromFile().
- גש לתיקיית השורש באמצעות השיטה PersonalStorage.getRootFolder().
- קבל איסוף הודעות מכל תיקיית משנה באמצעות שיטת FolderInfo.getContents().
- עברו בלולאה בין ההודעות באוסף וקראו את השדות של כל הודעה.
דוגמת הקוד הבאה מראה כיצד לחלץ הודעות מקובץ PST ב-Java.
// טען את קובץ PST של Outlook
PersonalStorage pst = PersonalStorage.fromFile(path);
// קבל את פורמט התצוגה של קובץ ה-PST
System.out.println("Display Format: " + pst.getFormat());
// קבל את המידע על התיקיות וההודעות
FolderInfo folderInfo = pst.getRootFolder();
// קרא לשיטה הרקורסיבית כדי לחלץ קבצי msg מכל תיקיה
extractMsgFiles(folderInfo, pst);
// זוהי שיטה רקורסיבית להצגת תוכן של תיקיה
private static void extractMsgFiles(FolderInfo folderInfo, PersonalStorage pst) {
// להציג את שם התיקיה
System.out.println("Folder: " + folderInfo.getDisplayName());
System.out.println("==================================");
// עברו בלולאה בין כל ההודעות בתיקייה זו
MessageInfoCollection messageInfoCollection = folderInfo.getContents();
for (MessageInfo messageInfo : messageInfoCollection) {
System.out.println("Saving message {0} ...." + messageInfo.getSubject());
// קבל את ההודעה במופע MapiMessage
MapiMessage message = pst.extractMessage(messageInfo);
// שמור הודעה זו בדיסק בפורמט msg
message.save(message.getSubject().replace(":", " ") + ".msg");
// שמור הודעה זו כדי להזרים בפורמט msg
ByteArrayOutputStream messageStream = new ByteArrayOutputStream();
message.save(messageStream);
}
// קרא לשיטה זו באופן רקורסיבי עבור כל תיקיית משנה
if (folderInfo.hasSubFolders() == true) {
for (FolderInfo subfolderInfo : folderInfo.getSubFolders()) {
extractMsgFiles(subfolderInfo, pst);
}
}
}
קרא אנשי קשר מ-PST ב-Java
במקרים מסוימים, ייתכן שיהיה עליך לחלץ את פרטי אנשי הקשר המאוחסנים בקובץ PST. השלבים הבאים מראים כיצד לגשת לאנשי הקשר בקובץ PST ב-Java.
- טען את קובץ ה-PST באמצעות שיטת PersonalStorage.fromFile().
- קבל הפניה לתיקיית אנשי הקשר באמצעות שיטת PersonalStorage.getRootFolder().getSubFolder(“Contacts”).
- קבל אוסף של אנשי קשר באמצעות שיטת FolderInfo.getContents().
- עיין באוסף אנשי הקשר וקרא כל איש קשר או שמור אותו.
דוגמת הקוד הבאה מראה כיצד לחלץ אנשי קשר מקובץ PST ב-Java.
// טען את קובץ PST של Outlook
PersonalStorage pst = PersonalStorage.fromFile("SampleContacts.pst");
// קבל את תיקיית אנשי הקשר
FolderInfo folderInfo = pst.getRootFolder().getSubFolder("Contacts");
// עברו בלולאה בין כל אנשי הקשר בתיקייה זו
MessageInfoCollection messageInfoCollection = folderInfo.getContents();
for (int i = 0; i < messageInfoCollection.size(); i++) {
MessageInfo messageInfo = (MessageInfo) messageInfoCollection.get_Item(i);
// קבל את פרטי הקשר
MapiContact contact = (MapiContact) pst.extractMessage(messageInfo).toMapiMessageItem();
// הצג חלק מהתוכן על המסך
System.out.println("Name: " + contact.getNameInfo().getDisplayName() + "\n");
// שמור בדיסק בפורמט 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 לקריאת קובץ PST של Outlook - קבל רישיון חינם
אתה יכול לנסות את Aspose.Email עבור Java בחינם על ידי קבלת רישיון זמני.
סיכום
במאמר זה, למדת כיצד לקרוא קבצי PST באופן פרוגרמטי ב-Java. יתר על כן, ראית כיצד לחלץ מידע תיקיות, להביא מיילים ולאחזר אנשי קשר מקובץ PST ב-Java. בנוסף, אתה יכול לחקור יותר על Aspose.Email עבור Java באמצעות תיעוד. כמו כן, למקרה שיהיו לך שאלות או שאילתות כלשהן, אל תהסס ליידע אותנו דרך הפורום שלנו.