.NET DiscUtils
Из Википедии, бесплатной энциклопедии
.NET DiscUtils | |
---|---|
Разработчик | Kenneth Bell |
Написана на | C# |
Операционная система | Microsoft Windows |
Языки интерфейса | Английский |
Аппаратная платформа | .NET |
Последняя версия | 0.10 (17 декабря 2011) |
Репозиторий | hg.codeplex.com/discutils |
Лицензия | MIT |
Сайт | discutils.codeplex.com |
.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 (англ.)
- Статья CodeProject о .NET DiscUtils Архивная копия от 5 июня 2011 на Wayback Machine (англ.)
Это заготовка статьи о программном обеспечении. Помогите Википедии, дополнив её. |