English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Archivos y directorios de C#

C# proporciona las siguientes clases para el sistema de archivos. Pueden usarse para acceder a directorios, archivos, abrir archivos para leer o escribir, crear nuevos archivos o mover archivos de un lugar a otro, etc.

Nombre de la claseUso
FileFile es una clase estática que proporciona diferentes funciones, como copiar, crear, mover, eliminar, abrir para leer o escribir, cifrar o descifrar, verificar si el archivo existe, agregar líneas o texto al contenido del archivo, obtener la última fecha y hora de acceso, etc.
FileInfoLa clase FileInfo proporciona las mismas funciones que la clase estática File. Al escribir manualmente el código para leer o escribir bytes desde el archivo, puede controlar mejor la lectura y escritura del archivo./Operaciones de escritura.
DirectoryEl directorio es una clase estática que proporciona funciones para crear, mover, eliminar y acceder a subdirectorios.  
DirectoryInfoDirectoryInfo proporciona métodos de instancia para crear, mover, eliminar y acceder a subdirectorios.  
PathPath es una clase estática que proporciona algunas funciones, como recuperar la extensión del archivo, cambiar la extensión del archivo, recuperar la ruta física absoluta y otras funciones relacionadas con la ruta.

Archivo(File)

C# incluye la clase estática File para ejecutar i/Operaciones o. La clase de archivo estático incluye varios métodos útiles que pueden interactuar con cualquier tipo de archivo físico (como archivos binarios, archivos de texto, etc.).

Utilice la clase estática File para realizar algunas operaciones rápidas en archivos físicos. Debido a razones de rendimiento, no se recomienda utilizar la clase File para múltiples operaciones en múltiples archivos. En este caso, utilice la clase FileInfo.

Métodos importantes de la clase estática File

MétodoUso
AppendAllLinesAñadir una línea al archivo y luego cerrarlo. Si el archivo especificado no existe, este método creará un archivo, escribirá la línea especificada en el archivo y luego cerrará el archivo.
AppendAllTextAbrir un archivo, adjuntar la cadena especificada al archivo y luego cerrarlo. Si el archivo no existe, este método creará un archivo, escribirá la cadena especificada en el archivo y luego cerrará el archivo.
AppendTextCrear un StreamWriter que escriba UTF-8Adjuntar el texto codificado al archivo existente, o si el archivo especificado no existe, adjuntar al nuevo archivo.
CopyCopiar el archivo existente a un nuevo archivo. No se permite sobrescribir archivos con el mismo nombre.
CreateCrear o sobrescribir un archivo en la ruta especificada.
CreateTextCrear o abrir un archivo para escribir UTF-8El archivo de texto codificado.
DescifrarUsar el método Encrypt para desencriptar el archivo encriptado por la cuenta actual.
DeleteEliminar el archivo especificado.
EncryptEncriptar el archivo para que solo la cuenta utilizada para encriptar el archivo pueda desencriptarlo.
ExistsDeterminar si el archivo especificado existe.
GetAccessControlObtener un objeto FileSecurity, que encapsula la lista de control de acceso (ACL) del archivo especificado.
MoveMover el archivo especificado a una nueva ubicación y proporcionar la opción de nombre de archivo nuevo.
OpenEn el que tiene acceso de lectura/Abrir FileStream en la ruta especificada para acceso de escritura.
ReadAllBytesAbrir un archivo binario, leer el contenido del archivo en un array de bytes y cerrar el archivo.
ReadAllLinesAbrir un archivo de texto, leer todas las filas del archivo y cerrar el archivo.
ReadAllTextAbrir un archivo de texto, leer todas las filas del archivo y cerrar el archivo.
ReplaceReemplazar el contenido del archivo especificado con el contenido de otro archivo, eliminar el archivo original y crear una copia de respaldo del archivo de reemplazo.
WriteAllBytesCrear un nuevo archivo, escribir el conjunto de bytes especificado en el archivo y cerrar el archivo. Si el archivo de destino ya existe, se sobrescribe.
WriteAllLinesCrear un nuevo archivo, escribir el conjunto de cadenas en el archivo y cerrar el archivo.
WriteAllTextCrear un nuevo archivo, escribir la cadena especificada en el archivo y cerrar el archivo. Si el archivo de destino ya existe, se sobrescribe.

Agregar texto de línea

Utilice el método AppendAllLines () para agregar texto multilínea a un archivo especificado, como se muestra a continuación.

string dummyLines = "This is first line."; + Environment.NewLine +
                    "This is second line." + Environment.NewLine +
                    "This is third line.";
//Abrir DummyFile.txt y agregar filas. Si el archivo no existe, se crea y abre.
File.AppendAllLines(@"C:\DummyFile.txt", dummyLines.Split(Environment.NewLine.ToCharArray()).ToList<string>());

Agregar cadena

Utilice el método File.AppendAllText () para agregar una cadena a una línea de código de archivo, como se muestra a continuación.

//Abrir DummyFile.txt y agregar texto. Si el archivo no existe, se crea y abre.
File.AppendAllText(@"C:\ DummyFile.txt", "This is File testing");

Sobrescribir texto

UsarFile.WriteAllText()El método escribe texto en el archivo. Tenga en cuenta que no añade texto, sino que sobrescribe el texto existente.

    Ejemplo: sobrescribir texto existente

//Abrir DummyFile.txt y escribir texto. Si el archivo no existe, se crea y se abre.
File.WriteAllText(@"C:\DummyFile.txt", "This is dummy text");

El siguiente ejemplo muestra cómo utilizar la clase File estática para realizar diferentes operaciones.

//Revisar si el archivo existe en una ubicación específica
bool isFileExists = File.Exists(@"C:\ DummyFile.txt"); // Devolver falso
//Copiar DummyFile.txt a un nuevo archivo DummyFileNew.txt
File.Copy(@"C:\DummyFile.txt", @"D:\NewDummyFile.txt");
//Obtener la hora de la última acceso al archivo 
DateTime lastAccessTime = File.GetLastAccessTime(@"C:\DummyFile.txt");
//Obtener la hora de la última escritura del archivo
DateTime lastWriteTime = File.GetLastWriteTime(@"C:\DummyFile.txt");
// Mover archivo a una nueva ubicación
File.Move(@"C:\DummyFile.txt", @"D:\DummyFile.txt");
//Abrir archivo y devolver FileStream para leer bytes desde el archivo
FileStream fs = File.Open(@"D:\DummyFile.txt", FileMode.OpenOrCreate);
//Abrir archivo y devolver StreamReader para leer cadenas desde el archivo
StreamReader sr = File.OpenText(@"D:\DummyFile.txt");
    
//Eliminar archivo
File.Delete(@"C:\DummyFile.txt");

Por lo tanto, es fácil manejar archivos físicos utilizando la clase File estática. Sin embargo, si desea más flexibilidad, puede usar la clase FileInfo. Del mismo modo, utilice la clase Directory estática para manejar directorios físicos.

Puntos a recordar

  1. File es una clase estática, que se puede usar para leer/escribir archivos físicos con menos código.

  2. La clase File estática ofrece funcionalidades como crear, leer/escribir, copiar, mover, eliminar archivos físicos.

  3. La clase Directory estática ofrece funcionalidades como crear, copiar, mover, eliminar directorios físicos con menos código.

  4. Las clases FileInfo y DirectoryInfo proporcionan las mismas funcionalidades que las clases estáticas File y Directory.