Fostrian nasıl kullanılır

Fostrian, verileri metin olarak sıralamak yerine, Fostrian’ın onu ikili olarak depoladığı bir dosya biçimidir. Bu, Fostrian’ın aynı bilgileri saklarken gerçekten küçük dosyalara sahip olmasını sağlar.

Fostrian’ı kullanmak için önce ona ihtiyacımız var.

Fostrian’ın resmi NuGet paketi mevcuttur ve NuGet Paket Mağazasını (Visual Studio’da) veya dotnet add paketini (VSCode dahil her şeyde) kullanabiliriz. Linki burada.

.NET projemize Fostrian’ı ekledikten sonra artık kodumuzda kullanabiliriz.

Sınıf dosyanızı açarak Fostrian’a referans ekleyin ve:

  • Visual Basic için: Üste Imports LibFoster ekleyin
  • C# için: Üste using LibFoster; ekleyin
  • F# için: Üste open LibFoster ekleyin

Bundan sonra asıl eğlence başlıyor.

C#
        // Bir kök düğümü oluşturalım.
        var rootNode = Fostrian.GenerateRootNode();

        // Stringler için bir kodlama seçmemiz gerek. Aynı şekilde başlangıç ve bitiş baytları da.
        rootNode.Encoding = System.Text.Encoding.UTF8;

        // lginç bilgi: Bu baytlar UTF-8 formatından gelme.
        rootNode.StartByte = 0x02;
        rootNode.EndByte = 0x03;

        // Bir sayı ekleyelim
        rootNode.Add(7);

        // Bir düğüm daha ekleyelim ama bu sefer o düğümü elimizde tutalım.
        var myNode = rootNode.Add("Fostrian'a Hoşgeldiniz!");

        // Düğümlere düğüm ekleyebiliriz.
        myNode.Add(true);

        // Ve bunu zincirleme şeklinde yapabiliriz.

        var chainEndNode = rootNode.Add("Zincir başı!").Add(1).Add('f').Add("Zincir sonu!");

        Console.WriteLine(chainEndNode.DataAsString);

        // Elimizde şimdi bu düğümler var:
        /*
            - Kök Düğümü
               - 7
               - "Fostrian'a Hoşgeldiniz!"
                  - true
               - "Zincir başı!"
                  - 1
                    - f
                      - "Zincir sonu!"

        */

        // Kayedeceğimiz dosya

        var fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Fostrian.fff");

        // Doyasyı kaydedelim.

        rootNode.Recreate(fileName);

        // ve geri yükleyelim!

        var myLoadedRoot = Fostrian.Parse(fileName);

        // bazı düğümleri okuyalım.

        Console.WriteLine(myLoadedRoot[0].DataAsInt32);
        Console.WriteLine(myLoadedRoot[1].DataAsString);

        // Eğer bir düğümü başka bir şey olarak okumaya çalışırsanız Fostrian hata verir.

        try
        {
            // Hadi bizim "Zincir başı!" düğümünü string değil de karakter olarak okumaya çalışalım.
            Console.WriteLine(myLoadedRoot[2].DataAsChar);
        }
        catch (Exception ex)
        {
            // Bize bir Exception atacak. Tüm hatayı yazdıralım.
            Console.WriteLine(ex.ToString());
        }
Scroll to Top