У меня есть папка, для которой я пытаюсь создать 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);
}
}
}
}
Любая помощь очень ценится.Спасибо.