.NET DiscUtils

.NET DiscUtils
  • Page 1 of 1
  • 1
Archive - read only
.NET DiscUtils
  1. WеniZAY
    WеniZAY
    1
    .NET DiscUtils — open source-библиотека .NET Framework для доступа и работы с образами виртуальных дисков. Библиотека полностью написанная на C#, и доступна на сайте Microsoft CodePlex.
  • WеniZAY
    WеniZAY
    2
    Поддерживаемые форматы
    .NET DiscUtils поддерживает несколько форматов образов дисков, схем выделения разделов и файловых систем Windows.
    1. WеniZAY
      WеniZAY
      3
      Форматы дисковых образов
      VHD
      VMDK
      VDI
      ISO
      UDF
      SDI
      WIM
      Необработанные образы дисков (IMA, IMG, VFD, FLP)
  • WеniZAY
    WеniZAY
    4
    Схем выделения разделов
    Таблица разделов BIOS
    Таблица разделов GUID
    Диспетчер логических дисков
    1. WеniZAY
      WеniZAY
      5
      Файловые системы
      FAT
      FAT32
      NTFS
      В файловых системах FAT и FAT32 отсутствует поддержка длинных имён файлов.
  • WеniZAY
    WеniZAY
    6
    Примеры
    Создание ISO образа


    Код
    CDBuilder builder = new CDBuilder();
    builder.UseJoliet = true;
    builder.VolumeIdentifier = "A_SAMPLE_DISK";
    builder.AddFile(@"Folder\Hello.txt", Encoding.ASCII.GetBytes("Hello World!"));
    builder.Build(@"C:\temp\sample.iso");
    1. WеniZAY
      WеniZAY
      7
      Распаковка файлов ISO образа

      Код
      using (FileStream isoStream = File.Open(@"C:\temp\sample.iso"))
      {
        CDReader cd = new CDReader(isoStream, true);
        Stream fileStream = cd.OpenFile(@"Folder\Hello.txt", FileMode.Open);
        // Используйте fileStream...
      }
  • WеniZAY
    WеniZAY
    8
    Создание виртуального диска

    Код
    long diskSize = 30 * 1024 * 1024; // 30 MB
    using (Stream vhdStream = File.Create(@"C:\TEMP\mydisk.vhd"))
    {
        Disk disk = Disk.InitializeDynamic(vhdStream, diskSize);
        BiosPartitionTable.Initialize(disk, WellKnownPartitionType.WindowsFat);
        using (FatFileSystem fs = FatFileSystem.FormatPartition(disk, 0, null))
        {
            fs.CreateDirectory(@"TestDir\CHILD");
            // Остальные действия с файловой системой...
        }
    }


    Данный пример создает виртуальный VHD-диск с динамическим расширением. Нижеследующий пример создаст диск с фиксированным размером.

    Код
    long diskSize = 30 * 1024 * 1024; // 30 MB
    using (Stream vhdStream = File.Create(@"C:\TEMP\mydisk.vhd"))
    {
        Disk disk = Disk.InitializeFixed(vhdStream, diskSize);
        BiosPartitionTable.Initialize(disk, WellKnownPartitionType.WindowsFat);
        using (FatFileSystem fs = FatFileSystem.FormatPartition(disk, 0, null))
        {
            fs.CreateDirectory(@"TestDir\CHILD");
            // Остальные действия с файловой системой...
        }
    }
    1. WеniZAY
      WеniZAY
      9
      Создание флоппи-диска

      Код
      using (FileStream fs = File.Create(@"myfloppy.vfd"))
      {
          using (FatFileSystem floppy = FatFileSystem.FormatFloppy(fs, FloppyDiskType.HighDensity, "MY FLOPPY  "))
          {
              using (Stream s = floppy.OpenFile("foo.txt", FileMode.Create))
              {
                  // Используйте поток stream...
              }
          }
      }
    • Page 1 of 1
    • 1
    Search:
    .NET DiscUtils
    2018-2024 • WeniZAYTalk WeniZAY
    Запрещено использование материалов сайта без прямой ссылки на источник. Все права защищены.