OLM 파일 열기

Aspose.Email for .NET은 Outlook for 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 인스턴스를 사용하여 파일을 로드합니다. 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 메시지 읽기 및 추출.