.NET DiscUtils

Поделись знанием:
Перейти к: навигация, поиск
.NET DiscUtils
Разработчик

Kenneth Bell

Написана на

C#

Операционная система

Microsoft Windows

Языки интерфейса

Английский

Аппаратная платформа

.NET

Последняя версия

0.10 (17 декабря 2011)

Лицензия

MIT

Сайт

[discutils.codeplex.com ls.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"

Ссылки

  • [discutils.codeplex.com Официальный сайт .NET DiscUtils]  (англ.)
  • [www.codeproject.com/KB/aspnet/ServeCustomizedISOs.aspx Статья CodeProject о .NET DiscUtils]  (англ.)


Отрывок, характеризующий .NET DiscUtils

– Ежели вы отказываетесь для меня, то я боюсь, что на мне…
Соня опять перебила его. Она умоляющим, испуганным взглядом посмотрела на него.
– Nicolas, не говорите мне этого, – сказала она.
– Нет, я должен. Может быть это suffisance [самонадеянность] с моей стороны, но всё лучше сказать. Ежели вы откажетесь для меня, то я должен вам сказать всю правду. Я вас люблю, я думаю, больше всех…
– Мне и довольно, – вспыхнув, сказала Соня.
– Нет, но я тысячу раз влюблялся и буду влюбляться, хотя такого чувства дружбы, доверия, любви, я ни к кому не имею, как к вам. Потом я молод. Мaman не хочет этого. Ну, просто, я ничего не обещаю. И я прошу вас подумать о предложении Долохова, – сказал он, с трудом выговаривая фамилию своего друга.
– Не говорите мне этого. Я ничего не хочу. Я люблю вас, как брата, и всегда буду любить, и больше мне ничего не надо.
– Вы ангел, я вас не стою, но я только боюсь обмануть вас. – Николай еще раз поцеловал ее руку.


У Иогеля были самые веселые балы в Москве. Это говорили матушки, глядя на своих adolescentes, [девушек,] выделывающих свои только что выученные па; это говорили и сами adolescentes и adolescents, [девушки и юноши,] танцовавшие до упаду; эти взрослые девицы и молодые люди, приезжавшие на эти балы с мыслию снизойти до них и находя в них самое лучшее веселье. В этот же год на этих балах сделалось два брака. Две хорошенькие княжны Горчаковы нашли женихов и вышли замуж, и тем еще более пустили в славу эти балы. Особенного на этих балах было то, что не было хозяина и хозяйки: был, как пух летающий, по правилам искусства расшаркивающийся, добродушный Иогель, который принимал билетики за уроки от всех своих гостей; было то, что на эти балы еще езжали только те, кто хотел танцовать и веселиться, как хотят этого 13 ти и 14 ти летние девочки, в первый раз надевающие длинные платья. Все, за редкими исключениями, были или казались хорошенькими: так восторженно они все улыбались и так разгорались их глазки. Иногда танцовывали даже pas de chale лучшие ученицы, из которых лучшая была Наташа, отличавшаяся своею грациозностью; но на этом, последнем бале танцовали только экосезы, англезы и только что входящую в моду мазурку. Зала была взята Иогелем в дом Безухова, и бал очень удался, как говорили все. Много было хорошеньких девочек, и Ростовы барышни были из лучших. Они обе были особенно счастливы и веселы. В этот вечер Соня, гордая предложением Долохова, своим отказом и объяснением с Николаем, кружилась еще дома, не давая девушке дочесать свои косы, и теперь насквозь светилась порывистой радостью.