FileSystemInfo (Clase)
Ensamblado: mscorlib (en mscorlib.dll)
La clase FileSystemInfo contiene métodos que son comunes para la manipulación de archivos y directorios. Un objeto FileSystemInfo puede representar un archivo o un directorio y, por tanto, servir como base para los objetos FileInfo o DirectoryInfo. Utilice esta clase base cuando analice un gran número de archivos y directorios.
Cuando se realiza la primera llamada, FileSystemInfo llama a Refresh y devuelve la información almacenada en caché de las API para obtener atributos y demás operaciones. En las llamadas siguientes, se debe llamar a Refresh para obtener la última copia de la información.
Una clase derivada sólo puede heredar de FileSystemInfo si la clase derivada tiene el permiso AllAccess de la enumeración FileIOPermissionAccess.
En los miembros que aceptan una ruta de acceso, esta ruta puede hacer referencia a un archivo o sólo a un directorio. La ruta especificada puede hacer referencia también a una ruta relativa o a una ruta de convención de nomenclatura universal (Universal Naming Convention, UNC) de un servidor y un nombre de recurso compartido. Por ejemplo, las siguientes rutas de acceso son todas válidas:
-
"c:\\MiDir\\MiArchivo.txt" en C# o "c:\MiDir\MiArchivo.txt" en Visual Basic.
-
"c:\\MiDir" en C# o "c:\MiDir" en Visual Basic.
-
"MiDir\\MiSubdir" en C# o "MiDir\MiSubDir" en Visual Basic.
-
"\\\\MiServidor\\MiRecursoComp" en C# o "\\MiServidor\MiRecursoComp" en Visual Basic.
En la siguiente tabla se muestran ejemplos de otras tareas de E/S típicas o relacionadas.
| Para realizar esta operación... | Vea el ejemplo de este tema... |
|---|---|
| Crear un archivo de texto | |
| Escribir en un archivo de texto. | |
| Leer de un archivo de texto. | |
| Anexar texto a un archivo. | |
| Eliminar un archivo. | |
| Cambiar de nombre o mover un archivo. | |
| Copiar un archivo. | |
| Crear un directorio. | System.IO.DirectoryInfo |
| Crear un subdirectorio. | |
| Cambiar de nombre o mover un directorio. | |
| Eliminar un directorio. | |
| Copiar un directorio. | |
| Ordenar por tamaño los archivos de un directorio. | |
| Ver los archivos de un directorio. | |
| Ver los subdirectorios de un directorio. | |
| Ver todos los archivos de todos los subdirectorios de un directorio. | GetFileSystemInfos |
| Obtener el tamaño de un directorio. | Directory |
| Obtener el tamaño de un archivo. | |
| Obtener los atributos de un archivo. | |
| Establecer los atributos de un archivo. | |
| Determinar si existe un archivo. | |
| Leer de un archivo binario. | |
| Escribir en un archivo binario. | |
| Recuperar una extensión de archivo | |
| Recuperar la ruta de acceso completa de un archivo | |
| Recuperar el nombre de archivo y la extensión de una ruta de acceso | |
| Cambiar la extensión de un archivo |
En el ejemplo siguiente se muestra cómo recorrer todos los archivos y directorios, consultando la información sobre cada entrada.
Imports System.IO Module Module1 Sub Main() ' Loop through all the immediate subdirectories of C. For Each entry As String In Directory.GetDirectories("C:\") DisplayFileSystemInfoAttributes(New DirectoryInfo(entry)) Next ' Loop through all the files in C. For Each entry As String In Directory.GetFiles("C:\") DisplayFileSystemInfoAttributes(New FileInfo(entry)) Next End Sub Sub DisplayFileSystemInfoAttributes(ByVal fsi As IO.FileSystemInfo) ' Assume that this entry is a file. Dim entryType As String = "File" ' Determine if this entry is really a directory. If (fsi.Attributes And FileAttributes.Directory) <> 0 Then entryType = "Directory" End If ' Show this entry's type, name, and creation date. Console.WriteLine("{0} entry {1} was created on {2:D}", _ entryType, fsi.FullName, fsi.CreationTime) End Sub End Module ' Output will vary based on contents of drive C. ' ' Directory entry C:\Documents and Settings was created on Tuesday, November 25, 2003 ' Directory entry C:\Inetpub was created on Monday, January 12, 2004 ' Directory entry C:\Program Files was created on Tuesday, November 25, 2003 ' Directory entry C:\RECYCLER was created on Tuesday, November 25, 2003 ' Directory entry C:\System Volume Information was created on Tuesday, November 2, 2003 ' Directory entry C:\WINDOWS was created on Tuesday, November 25, 2003 ' File entry C:\IO.SYS was created on Tuesday, November 25, 2003 ' File entry C:\MSDOS.SYS was created on Tuesday, November 25, 2003 ' File entry C:\pagefile.sys was created on Saturday, December 27, 2003
- FileIOPermission Enumeración asociada: Unrestricted Acción de seguridad: petición de herencia Para obtener permiso para heredar de esta clase.
System.MarshalByRefObject
System.IO.FileSystemInfo
System.IO.DirectoryInfo
System.IO.FileInfo
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.