Membuka File OLM

Aspose.Email untuk .NET merepresentasikan file penyimpanan Outlook untuk Mac dengan OlmStorage kelas. Artikel ini menunjukkan cara membuka file OLM dari jalur atau stream, dan cara memuat file dengan aman bila mungkin rusak.

Buka File OLM

File OLM dapat dibuka dengan dua cara:

  • menggunakan konstruktor;
  • menggunakan statis FromFile metode.

Ada perbedaan perilaku antara dua pendekatan ini yang memengaruhi cara hierarki folder diinisialisasi. Lihat Menelusuri Folder OLM untuk detail.

Menggunakan Konstruktor

Untuk membuka file, panggil konstruktor OlmStorage kelas dan lewati nama file lengkap sebagai argumen. Karena OlmStorage mengimplementasikan IDisposable, bungkus dalam sebuah using pernyataan agar pegangan file yang mendasari dilepaskan ketika Anda selesai.

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

Menggunakan Metode Statis FromFile

Untuk membuka file, gunakan statis FromFile metode dan lewati nama file lengkap sebagai argumen:

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

Buka File OLM dari Stream

Ketika data OLM tidak berasal dari jalur lokal – misalnya, diterima dari basis data, sumber jaringan, atau penyimpanan cloud – Anda dapat membukanya langsung dari sebuah Stream. Gunakan OlmStorage(Stream) konstruktor atau statis FromStream metode.

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

Metode statis berfungsi dengan cara yang sama:

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

Buka File OLM yang Rusak

Jika sebuah file mungkin sebagian rusak, Anda masih dapat mengekstrak sebanyak mungkin data tanpa berhenti pada kesalahan pertama. Untuk melakukannya, buat OlmStorage instansi dengan OlmStorage(TraversalExceptionsCallback callback) konstruktor, lalu muat file dengan Load alih-alih konstruktor, kemudian muat file dengan FromFile.

Callback menerima pengecualian yang muncul selama pemuatan dan penelusuran, sehingga Anda dapat mencatat atau mengabaikannya. Metode Load metode mengembalikan true jika file berhasil dimuat dan penelusuran memungkinkan, dan false jika file terlalu rusak untuk dilalui.

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.");
    }
}

Untuk contoh lengkap mengekstrak item dari file yang rusak, lihat Membaca dan Mengekstrak Pesan OLM.