Как отслеживать прогресс во время создания ISO с использованием библиотек пакетов Nuget DiscUtil в C #? - PullRequest
0 голосов
/ 12 октября 2018

У меня есть папка, для которой я пытаюсь создать ISO, используя библиотеки DiscUtil.Создается ISO, но поскольку файлы внутри папок обрабатываются, я также хочу отслеживать прогресс.Я знаю, что есть нечто, называемое ProgressEvent и PumpStream.Но я все еще не понимаю, как его использовать.Ниже приведен мой код для создания ISO с учетом папки.

using DiscUtils.Iso9660;
using System;
using System.IO;

namespace ISOSampleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            CDBuilder builder = new CDBuilder();
            builder.UseJoliet = true;
            builder.VolumeIdentifier = "SAMPLEDISK";

            DirectoryInfo di = new DirectoryInfo(@"C:\SomeDirectoryPath\SomeFolder");

            PopulateFromFolder(builder, di, di.FullName);

            builder.Build(@"C:\SomeDirectoryPath\SomeName.iso");

            Console.WriteLine("ISO Built!!!");

            Console.ReadKey();
        }

        private static void PopulateFromFolder(CDBuilder builder, DirectoryInfo di, string fullName)
        {

            foreach (FileInfo file in di.GetFiles())
            {

                builder.AddFile(file.FullName.Substring(fullName.Length), file.FullName);
            }

            foreach (DirectoryInfo dir in di.GetDirectories())
            {
                PopulateFromFolder(builder, dir, fullName);
            }
        }
     }
}

Любая помощь очень ценится.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...