باز کردن فایل‌های OLM

Aspose.Email برای .NET نمایانگر یک فایل ذخیره‌سازی Outlook برای Mac با OlmStorage کلاس. این مقاله نشان می‌دهد چگونه یک فایل OLM را از مسیر یا جریان باز کنید و چگونه به‌صورت ایمن فایلی که ممکن است خراب باشد را بارگیری کنید.

باز کردن یک فایل OLM

یک فایل OLM می‌تواند به دو روش باز شود:

  • استفاده از سازنده؛
  • استفاده از ثابت FromFile متد.

تفاوت رفتاری بین این دو روش وجود دارد که بر مقداردهی اولیهٔ سلسله‌مراتب پوشه‌ها تأثیر می‌گذارد. ببینید ناوبری در پوشه‌های OLM برای جزئیات.

استفاده از سازنده

برای باز کردن یک فایل، سازندهٔ OlmStorage کلاس و نام کامل فایل را به‌عنوان آرگومان بدهید. چون OlmStorage پیاده‌سازی می‌کند IDisposable، آن را در یک using بیان کنید تا هنگامی که کارتان تمام شد، دستگیرهٔ فایل زیرین آزاد شود.

var fileName = "MyStorage.olm";
using (var olm = new OlmStorage(fileName))
{
    // work with the storage
}

استفاده از متد ثابت FromFile

برای باز کردن یک فایل، از FromFile متد استفاده کنید و نام کامل فایل را به‌عنوان آرگومان بدهید:

var fileName = "MyStorage.olm";
using (var olm = OlmStorage.FromFile(fileName))
{
    // work with the storage
}

باز کردن یک فایل OLM از یک جریان

وقتی داده OLM از مسیر محلی نمی‌آید - به عنوان مثال، از یک پایگاه داده، منبع شبکه یا ذخیره‌سازی ابری دریافت می‌شود - می‌توانید آن را مستقیماً از یک Stream. از OlmStorage(Stream) سازنده یا متد ثابت FromStream متد.

using (var stream = File.OpenRead("MyStorage.olm"))
using (var olm = new OlmStorage(stream))
{
    // work with the storage
}

متد ثابت به همان روش کار می‌کند:

using (var stream = File.OpenRead("MyStorage.olm"))
using (var olm = OlmStorage.FromStream(stream))
{
    // work with the storage
}

باز کردن یک فایل OLM خراب

اگر فایلی ممکن است جزئی خراب باشد، می‌توانید همچنان تا جایی که ممکن است داده‌ها را استخراج کنید بدون اینکه در اولین خطا متوقف شوید. برای این کار، OlmStorage instance با OlmStorage(TraversalExceptionsCallback callback) بارگذاری کنید، سپس فایل را با Load به‌جای سازنده، سپس فایل را با FromFile.

بازگردانی‌گر استثناهایی را که در طول بارگذاری و پیمایش رخ می‌دهند دریافت می‌کند، بنابراین می‌توانید آنها را لاگ یا نادیده بگیرید. روش 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.