פתיחת קובצי OLM
Aspose.Email for .NET מייצגת קובץ אחסון Outlook for Mac באמצעות OlmStorage מחלקה. מאמר זה מציג כיצד לפתוח קובץ OLM ממסלול או מ‑Stream, וכיצד לטעון קובץ שעשוי להיות פגום בצורה בטוחה.
פתיחת קובץ OLM
קובץ OLM ניתן לפתיחה בשתי דרכים:
- שימוש בבנאי;
- שימוש ב‑static
FromFileשיטה.
קיימת הבדל בהתנהגות בין שתי הגישות שמשפיע על איך היררכיית התיקיות מאותחלת. ראה ניווט בתיקיות OLM לפרטים נוספים.
שימוש בבנאי
לפתיחת קובץ, קרא לבנאי של OlmStorage מחלקה והעבר את שם הקובץ המלא כארגומנט. משום ש‑ OlmStorage מיישמת IDisposable, עטוף אותו ב‑ using הצהרה כך שהידית הקובץ הבסיסית תישחרר כשסיימת.
var fileName = "MyStorage.olm";
using (var olm = new OlmStorage(fileName))
{
// work with the storage
}
שימוש במתודת ה‑Static FromFile
לפתיחת קובץ, השתמש ב‑static FromFile מתודה והעבר את שם הקובץ המלא כארגומנט:
var fileName = "MyStorage.olm";
using (var olm = OlmStorage.FromFile(fileName))
{
// work with the storage
}
פתיחת קובץ OLM מ‑Stream
כאשר נתוני OLM אינם מגיעים ממסלול מקומי – לדוגמה, הם מתקבלים ממסד נתונים, משאב רשת או אחסון בענן – ניתן לפתוח אותם ישירות מ‑ Stream. השתמש ב‑ OlmStorage(Stream) הקונסטרוקטור או ה‑static FromStream שיטה.
using (var stream = File.OpenRead("MyStorage.olm"))
using (var olm = new OlmStorage(stream))
{
// work with the storage
}
מתודת ה‑static פועלת באותו אופן:
using (var stream = File.OpenRead("MyStorage.olm"))
using (var olm = OlmStorage.FromStream(stream))
{
// work with the storage
}
פתיחת קובץ OLM פגום
אם קובץ עלול להיות חלקית פגום, עדיין ניתן לחלץ את מירב הנתונים מבלי לעצור בשגיאה הראשונה. לשם כך, צור את ה‑ OlmStorage מופע עם ה‑ OlmStorage(TraversalExceptionsCallback callback) בנייה, ואז טען את הקובץ בעזרת ה‑ Load מתודה במקום ה‑ FromFile.
ה‑callback מקבל את החריגות שהתרחשו במהלך הטעינה והמעבר, ולכן ניתן לרשום אותן או להתעלם מהן. ה‑ Load השיטה מחזירה true אם הקובץ נטען בהצלחה והמעבר אפשרי, ו‑ false אם הקובץ פגום מדי כדי לעבור עליו.
using (var olm = new OlmStorage((exception, id) =>
{
// Exception handling code.
Console.WriteLine($"Failed to process item '{id}': {exception.Message}");
}))
{
if (olm.Load(fileName))
{
// The file was loaded and can be traversed.
var folderHierarchy = olm.GetFolders();
}
else
{
Console.WriteLine("The OLM file is corrupted and cannot be traversed.");
}
}
לדוגמה מלאה של חילוץ פריטים מקובץ פגום, ראה קריאה וחילוץ הודעות OLM.