.NET DiscUtils

.NET DiscUtils
Dezvoltator Kenneth Bell
Scris in C#
Sistem de operare Microsoft Windows
Limbi de interfață Engleză
Platformă hardware .NET
ultima versiune 0,10 ( 17 decembrie 2011 )
Licență MIT
Site-ul web discutils.codeplex.com

.NET DiscUtils  este o bibliotecă open source .NET Framework pentru accesarea și lucrul cu imagini de disc virtual. Biblioteca este scrisă în întregime în C# și este disponibilă pe site-ul Microsoft CodePlex .

Formate acceptate

.NET DiscUtils acceptă mai multe formate de imagini de disc , scheme de partiționare și sisteme de fișiere Windows .

Formate de imagine de disc

Scheme de partiționare

Sisteme de fișiere

Sistemele de fișiere FAT și FAT32 nu acceptă nume lungi de fișiere.

Exemple

Crearea unei imagini ISO

CDBuilder builder = CDBuilder nou (); constructor . UseJoliet = adevărat ; constructor . VolumeIdentifier = "A_SAMPLE_DISK" ; constructor . AddFile ( @"Folder\Hello.txt" , Encoding . ASCII . GetBytes ( "Hello World!" )); constructor . Build ( @"C:\temp\sample.iso" );

Despachetarea fișierelor imagine ISO

folosind ( FileStream isoStream = File . Open ( @"C:\temp\sample.iso" )) { CDReader cd = new CDReader ( isoStream , true ); Stream fileStream = cd . OpenFile ( @"Folder\Hello.txt" , FileMode . Open ); // Folosește fileStream... }

Crearea unui disc virtual

Long diskSize = 30 * 1024 * 1024 ; // 30 MB folosind ( Stream vhdStream = File . Create ( @"C:\TEMP\mydisk.vhd" )) { Disk disk = Disk . InitializeDynamic ( vhdStream , diskSize ); BiosPartitionTable . Inițializare ( disc , WellKnownPartitionType . WindowsFat ); folosind ( FatFileSystem fs = FatFileSystem . FormatPartition ( disc , 0 , null )) { fs . CreateDirectory ( " @"TestDir\CHILD" ); // Alte acțiuni cu sistemul de fișiere... } }

Acest exemplu creează un VHD virtual cu extindere dinamică. Următorul exemplu va crea un disc cu o dimensiune fixă.

Long diskSize = 30 * 1024 * 1024 ; // 30 MB folosind ( Stream vhdStream = File . Create ( @"C:\TEMP\mydisk.vhd" )) { Disk disk = Disk . InitializeFixed ( vhdStream , diskSize ); BiosPartitionTable . Inițializare ( disc , WellKnownPartitionType . WindowsFat ); folosind ( FatFileSystem fs = FatFileSystem . FormatPartition ( disc , 0 , null )) { fs . CreateDirectory ( " @"TestDir\CHILD" ); // Alte acțiuni cu sistemul de fișiere... } }

Crearea unei dischete

folosind ( FileStream fs = File . Create ( @"myfloppy.vfd" )) { folosind ( FatFileSystem floppy = FatFileSystem . FormatFloppy ( fs , FloppyDiskType . HighDensity , "MY FLOPPY " )) { folosind ( Stream s = floppy ( " . OpenFile " . foo.txt" , FileMode . Creați )) { // Folosiți fluxul... } } }

Link -uri