Русская Википедия:.NET DiscUtils: различия между версиями
(Новая страница: «{{Значения|.NET}} {{Infobox software | name = .NET DiscUtils | logo = | screenshot = | caption = .NET DiscUtils | author = | developer = Kenneth Bell | released = | latest release version = 0.10 | latest release date = 17 декабря 2011 | latest preview version = | latest preview date = | programming language = C# | operat...») |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{Русская Википедия/Панель перехода}} | |||
{{Значения|.NET}} | {{Значения|.NET}} | ||
{{Infobox software | {{Infobox software | ||
Строка 241: | Строка 243: | ||
[[Категория:Свободные библиотеки программ]] | [[Категория:Свободные библиотеки программ]] | ||
}} | }} | ||
{{Навигационная таблица/Портал/Русская Википедия}} | |||
[[Категория:Русская Википедия]] | [[Категория:Русская Википедия]] | ||
[[Категория:Википедия]] | [[Категория:Википедия]] | ||
[[Категория:Статья из Википедии]] | [[Категория:Статья из Википедии]] | ||
[[Категория:Статья из Русской Википедии]] | [[Категория:Статья из Русской Википедии]] |
Версия от 19:49, 10 июля 2023
Шаблон:Значения Шаблон:Infobox software .NET DiscUtils — open source-библиотека .NET Framework для доступа и работы с образами виртуальных дисков. Библиотека полностью написанная на C#, и доступна на сайте Microsoft CodePlex.
Поддерживаемые форматы
.NET DiscUtils поддерживает несколько форматов образов дисков, схем выделения разделов и файловых систем Windows.
Форматы дисковых образов
Схем выделения разделов
Файловые системы
В файловых системах FAT и FAT32 отсутствует поддержка длинных имён файлов.
Примеры
Создание 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");
Распаковка файлов 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...
}
Создание виртуального диска
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");
// Остальные действия с файловой системой...
}
}
Создание флоппи-диска
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...
}
}
}
Ссылки
- Официальный сайт .NET DiscUtils Шаблон:Ref-en
- Статья CodeProject о .NET DiscUtils Шаблон:Wayback Шаблон:Ref-en
Шаблон:Compu-soft-stub {{#set: Текст статьи=Шаблон:Значения Шаблон:Infobox software .NET DiscUtils — open source-библиотека .NET Framework для доступа и работы с образами виртуальных дисков. Библиотека полностью написанная на C#, и доступна на сайте Microsoft CodePlex.
Поддерживаемые форматы
.NET DiscUtils поддерживает несколько форматов образов дисков, схем выделения разделов и файловых систем Windows.
Форматы дисковых образов
Схем выделения разделов
Файловые системы
В файловых системах FAT и FAT32 отсутствует поддержка длинных имён файлов.
Примеры
Создание 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");
Распаковка файлов 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...
}
Создание виртуального диска
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");
// Остальные действия с файловой системой...
}
}
Создание флоппи-диска
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...
}
}
}
Ссылки
- Официальный сайт .NET DiscUtils Шаблон:Ref-en
- Статья CodeProject о .NET DiscUtils Шаблон:Wayback Шаблон:Ref-en