Utilidades de disco .NET

Utilidades de disco .NET
Desarrollador kenneth campana
Escrito en C#
Sistema operativo Microsoft Windows
Idiomas de la interfaz inglés
plataforma de hardware .RED
ultima versión 0.10 ( 17 de diciembre de 2011 )
Licencia MIT
Sitio web discutils.codeplex.com

.NET DiscUtils  es una biblioteca de .NET Framework de código abierto para acceder y trabajar con imágenes de discos virtuales. La biblioteca está escrita completamente en C# y está disponible en el sitio de Microsoft CodePlex .

Formatos soportados

.NET DiscUtils admite varios formatos de imagen de disco , esquemas de partición y sistemas de archivos de Windows .

Formatos de imagen de disco

Esquemas de partición

Sistemas de archivos

Los sistemas de archivos FAT y FAT32 no admiten nombres de archivo largos.

Ejemplos

Creando una imagen ISO

Creador de CDBuilder = nuevo CDBuilder (); constructor _ UsarJoliet = true ; constructor _ VolumeIdentifier = "A_SAMPLE_DISK" ; constructor _ AddFile ( @"Folder\Hello.txt" , Codificación . ASCII . GetBytes ( "¡Hola mundo!" )); constructor _ Construir ( @"C:\temp\sample.iso" );

Desempaquetando los archivos de imagen ISO

usando ( FileStream isoStream = File . Open ( @"C:\temp\sample.iso" )) { CDReader cd = new CDReader ( isoStream , true ); Flujo de archivoStream = cd . OpenFile ( @"Folder\Hello.txt" , FileMode . Open ); // Usar fileStream... }

Creando un disco virtual

tamaño de disco largo = 30 * 1024 * 1024 ; // 30 MB usando ( Stream vhdStream = File . Create ( @"C:\TEMP\mydisk.vhd" )) { Disk disk = Disk . InitializeDynamic ( vhdStream , diskSize ); BiosPartitionTable . Inicializar ( disco , WellKnownPartitionType . WindowsFat ); usando ( FatFileSystem fs = FatFileSystem . FormatPartition ( disco , 0 , nulo )) { fs . CrearDirectorio ( @"TestDir\CHILD" ); // Otras acciones con el sistema de archivos... } }

Este ejemplo crea un VHD virtual con expansión dinámica. El siguiente ejemplo creará un disco con un tamaño fijo.

tamaño de disco largo = 30 * 1024 * 1024 ; // 30 MB usando ( Stream vhdStream = File . Create ( @"C:\TEMP\mydisk.vhd" )) { Disk disk = Disk . InitializeFixed ( vhdStream , diskSize ); BiosPartitionTable . Inicializar ( disco , WellKnownPartitionType . WindowsFat ); usando ( FatFileSystem fs = FatFileSystem . FormatPartition ( disco , 0 , nulo )) { fs . CrearDirectorio ( @"TestDir\CHILD" ); // Otras acciones con el sistema de archivos... } }

Creación de un disquete

usando ( FileStream fs = File . Create ( @"myfloppy.vfd" )) { usando ( FatFileSystem floppy = FatFileSystem . FormatFloppy ( fs , FloppyDiskType . HighDensity , "MY FLOPPY " )) { usando ( Stream s = floppy . OpenFile ( " foo.txt" , FileMode . Create )) { // Use stream... } } }

Enlaces