Una de las actividades comunes al desarrollar es tratar con archivos, por eso quiero escribir un poco de las facilidades que .net Framework nos proporciona.
Lo primero que debemos conocer es el namespace system.io, el cual nos proporciona una serie de clases para el manejo de archivos, carpetas y hasta unidades completas.
Podríamos decir que system.io se divide en dos tipos de clases, las de información (derivadas de filesysteminfo) y las de utilidades (file, directory y path)
Pero, veamos como se utilizan, empecemos con FileInfo, este nos permite ver información de un archivo.
Imports System.IO Module Module1 Sub Main() Dim Mi_archivo As New FileInfo("c:\windows\explorer.exe") Console.WriteLine("Directorio = {0}", Mi_archivo.DirectoryName) Console.WriteLine("Nombre = {0}", Mi_archivo.Name) Console.WriteLine("Extensión = {0}", Mi_archivo.Extension) Console.WriteLine("Fecha de creación = {0}", Mi_archivo.CreationTimeUtc) Console.WriteLine("Fecha última modificación = {0}", Mi_archivo.LastWriteTimeUtc) Console.ReadKey() End Sub End Module |
Pero, el fileinfo además de brindarnos información de un archivo nos permite realizar algunas operaciones con él.
Mi_archivo.CopyTo("c:\winres\explorer.res", True) Mi_archivo.MoveTo("c:\carpeta\respaldo.bak") |
Otras clases importantes son las siguientes
Directory_info | Permite manipular directorios |
DriveInfo | Permite manipular unidades de disco (isReady, TotalSize, TotalFreeSpace) |
Path | Permite manejar rutas de archivos de forma más eficiente que si las manejáramos como simples cadenas de texto |
FileSystemWatcher | Permite monitorear cambios (Creación, modificación, renombrado, borrado) el sistema de archivos y directorios. |
En el siguiente ejemplo podemos ver como listar los archivos de una carpeta específica.
Sub Main() Dim Mi_directorio As DirectoryInfo = New DirectoryInfo("c:\windows") For Each Mi_archivo As FileInfo In Mi_directorio.GetFiles() Console.WriteLine("Archivo: {0}, Tamaño: {1} bytes", Mi_archivo.Name, Mi_archivo.Length)
Next Console.ReadKey() End Sub |
1 comentario:
Muy exacto
Publicar un comentario