DirectoryInfo (Clase)
Ensamblado: mscorlib (en mscorlib.dll)
Utilice la clase DirectoryInfo para operaciones típicas como copiar, mover, cambiar de nombre, crear y eliminar directorios.
Si va a utilizar un objeto varias veces, considere la posibilidad de usar el método de instancia de DirectoryInfo en lugar de los correspondientes métodos estáticos de la clase Directory, ya que no siempre será necesario realizar una comprobación de seguridad.
Nota |
|---|
| En los miembros que aceptan una ruta como cadena de entrada, la ruta debe ser correcta o, de lo contrario, se produce una excepción. Por ejemplo, si se trata de una ruta completa pero que empieza por un espacio, la ruta no se recorta en los métodos de la clase. En consecuencia, la ruta está mal construida y se produce una excepción. De forma similar, una combinación de rutas de acceso no puede completarse dos veces. Por ejemplo, "c:\temp c:\windows" produce también una excepción en la mayoría de los casos. Asegúrese de que las rutas de acceso estén bien construidas cuando utilice métodos que acepten una cadena de ruta de acceso. |
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.
De forma predeterminada, se otorga acceso completo de lectura y escritura a los nuevos directorios a todos los usuarios.
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 | |
| Cambiar de nombre o mover un directorio | |
| Eliminar un directorio | |
| Crear un directorio | |
| Crear un subdirectorio | |
| Ver los archivos de un directorio | |
| Ver los subdirectorios de un directorio | |
| Ver todos los archivos y todos los subdirectorios de un directorio | |
| Obtener el tamaño de un directorio | Directory |
| Determinar si un archivo existe | |
| Ordenar por tamaño los archivos de un directorio | GetFileSystemInfos |
| Determinar si un directorio existe |
Nota de la plataforma Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows CE: Dado que los sistemas de archivos de los dispositivos funcionan de manera diferente, .NET Compact Framework no permite obtener o establecer atributos de directorio.
En el siguiente ejemplo se muestran algunos de los miembros principales de la clase DirectoryInfo.
using System; using System.IO; class Test { public static void Main() { // Specify the directories you want to manipulate. DirectoryInfo di = new DirectoryInfo(@"c:\MyDir"); try { // Determine whether the directory exists. if (di.Exists) { // Indicate that the directory already exists. Console.WriteLine("That path exists already."); return; } // Try to create the directory. di.Create(); Console.WriteLine("The directory was created successfully."); // Delete the directory. di.Delete(); Console.WriteLine("The directory was deleted successfully."); } catch (Exception e) { Console.WriteLine("The process failed: {0}", e.ToString()); } finally {} } }
import System.*;
import System.IO.*;
class Test
{
public static void main(String[] args)
{
// Specify the directories you want to manipulate.
DirectoryInfo di = new DirectoryInfo("c:\\MyDir");
try {
// Determine whether the directory exists.
if (di.get_Exists()) {
// Indicate that the directory already exists.
Console.WriteLine("That path exists already.");
return;
}
// Try to create the directory.
di.Create();
Console.WriteLine("The directory was created successfully.");
// Delete the directory.
di.Delete();
Console.WriteLine("The directory was deleted successfully.");
}
catch (System.Exception e) {
Console.WriteLine("The process failed: {0}", e.ToString());
}
finally {
}
} //main
} //Test
En el ejemplo siguiente se muestra cómo copiar un directorio y su contenido.
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.
Nota