Materiales: DrivesInfo-Example.cs DrivesInfo-Example.zip
Namespaces: System;System.IO;
Clases: System.IO.DriveInfo
Ensamblados: Mscorlib.dll(Referencia no necesaria)
Portabilidad para Mono: Ninguna. Mono 1.2.1 Aun no ha implementado la clase DriveInfo.
- Tema para examen oficial Application Development Foundation(70-536).
- Certificacion MCTS.
Introducción:
A menudo uno necesita crear aplicaciones que guarden archivos(XML,TXT,DAT) en el Sistema de Archivos de Windows y por supuesto necesitara saber que unidades y que espacio libre le quedara a cada unidad del usuario. En Microsoft .NET Framework 2.0 se complemento el
namespace System.IO con clases y metodos que proporcionan la informacion que necesitamos:
Ejemplo:
1) Obtener las instancias de DriveInfo con la informacion de cada Unidad:
DriveInfo[] drives = DriveInfo.GetDrives();
2) Iterar el Array para poder presentar la información de cada Unidad:
foreach (DriveInfo info in drives) {...}
(Los puntos suspensivos en el codigo dado y en los siguientes indican porciones de codigo no relevante para el paso que se esta explicando)
3) Comprobar el estado de la unidad para solicitar la informacion. Esto se hace mediante la propiedad IsReady, de otra menera si se intenta obtener la información y la unidad no esta lista se levantara una excepción de tipo System.IO.IOException. Un caso tipico de esta situación es la unidad de Diskette(que casi nunca para mi caso tiene un disco):
if (info.IsReady)
{...}
Seguidamente podra mostrar la informacion completa de la unidad.
Si se compila y ejecuta la aplicación de ejemplo obtendra un resultado similar:
A:\ no tiene disco
C:\:Bill gates
39070 MB
39 GB,
NTFS
D:\ no tiene disco
E:\:WD160GB
140665 MB
140 GB,
NTFS
F:\:SG80GB_EMULE
78140 MB
78 GB,
NTFS
G:\ no tiene disco
H:\:VSSD1
105 MB
0 GB,
UDF
No comments:
Post a Comment