Регистрация

.NET DiscUtils

Login
  • Page 1 of 1
  • 1
Archive - read only
.NET DiscUtils
WеniZAY
WеniZAY 2016-02-18 в 15:27:22
.NET DiscUtils — open source-библиотека .NET Framework для доступа и работы с образами виртуальных дисков. Библиотека полностью написанная на C#, и доступна на сайте Microsoft CodePlex.
WеniZAY
WеniZAY 2016-02-18 в 15:27:32
Поддерживаемые форматы
.NET DiscUtils поддерживает несколько форматов образов дисков, схем выделения разделов и файловых систем Windows.
WеniZAY
WеniZAY 2016-02-18 в 15:27:42
Форматы дисковых образов
VHD
VMDK
VDI
ISO
UDF
SDI
WIM
Необработанные образы дисков (IMA, IMG, VFD, FLP)
WеniZAY
WеniZAY 2016-02-18 в 15:27:51
Схем выделения разделов
Таблица разделов BIOS
Таблица разделов GUID
Диспетчер логических дисков
WеniZAY
WеniZAY 2016-02-18 в 15:28:00
Файловые системы
FAT
FAT32
NTFS
В файловых системах FAT и FAT32 отсутствует поддержка длинных имён файлов.
WеniZAY
WеniZAY 2016-02-18 в 15:28:18
Примеры
Создание 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");
WеniZAY
WеniZAY 2016-02-18 в 15:28:45
Распаковка файлов 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 2016-02-18 в 15:29:01
Создание виртуального диска

Код
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");
        // Остальные действия с файловой системой...
    }
}
WеniZAY
WеniZAY 2016-02-18 в 15:29:50
Создание флоппи-диска

Код
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: