.NET DiscUtils

.NET DiscUtils
Utvecklaren Kenneth Bell
Skrivet i C#
Operativ system Microsoft Windows
Gränssnittsspråk engelsk
Hårdvaruplattform .NETTO
senaste versionen 0,10 ( 17 december 2011 )
Licens MIT
Hemsida discutils.codeplex.com

.NET DiscUtils  är ett .NET Framework-bibliotek med öppen källkod för åtkomst till och arbete med virtuella diskavbildningar. Biblioteket är helt skrivet i C# och är tillgängligt från Microsoft CodePlex- webbplatsen .

Format som stöds

.NET DiscUtils stöder flera skivavbildningsformat , partitioneringsscheman och Windows -filsystem .

Skivbildsformat

Partitioneringsscheman

Filsystem

Filsystemen FAT och FAT32 stöder inte långa filnamn.

Exempel

Skapa en ISO-bild

CDBuilder builder = ny CDBuilder (); byggare . UseJoliet = sant ; byggare . VolumeIdentifier = "A_SAMPLE_DISK" ; byggare . AddFile ( @"Folder\Hello.txt" , Encoding . ASCII . GetBytes ( "Hello World!" )); byggare . Bygg ( @"C:\temp\sample.iso" );

Packar upp ISO-bildfilerna

använder ( FileStream isoStream = Fil . Öppna ( @"C:\temp\sample.iso" )) { CDReader cd = new CDReader ( isoStream , true ); Stream fileStream = cd . OpenFile ( @"Folder\Hello.txt" , FileMode . Open ); // Använd fileStream... }

Skapa en virtuell disk

lång diskstorlek = 30 * 1024 * 1024 ; // 30 MB med ( Stream vhdStream = Fil . Skapa ( @"C:\TEMP\mydisk.vhd" )) { Disk disk = Disk . InitializeDynamic ( vhdStream , diskSize ); BiosPartitionTable . Initiera ( disk , WellKnownPartitionType . WindowsFat ); använder ( FatFileSystem fs = FatFileSystem . FormatPartition ( disk , 0 , null )) { fs . CreateDirectory ( @"TestDir\CHILD" ); // Andra åtgärder med filsystemet... } }

Detta exempel skapar en virtuell VHD med dynamisk expansion. Följande exempel kommer att skapa en disk med en fast storlek.

lång diskstorlek = 30 * 1024 * 1024 ; // 30 MB med ( Stream vhdStream = Fil . Skapa ( @"C:\TEMP\mydisk.vhd" )) { Disk disk = Disk . InitializeFixed ( vhdStream , diskSize ); BiosPartitionTable . Initiera ( disk , WellKnownPartitionType . WindowsFat ); använder ( FatFileSystem fs = FatFileSystem . FormatPartition ( disk , 0 , null )) { fs . CreateDirectory ( @"TestDir\CHILD" ); // Andra åtgärder med filsystemet... } }

Skapa en diskett

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 . Skapa )) { // Använd stream... } } }

Länkar