Manejo de archivos en C#: E/S Operaciones [Ejemplos]
C# tiene una amplia gama de operaciones con archivos. Estas operaciones incluyen abrir un archivo, leerlo o escribir en รฉl. Puede haber casos en los que desee trabajar con archivos directamente, en cuyo caso utilizarรญa las operaciones con archivos disponibles en C#. A continuaciรณn se mencionan algunas de las operaciones bรกsicas con archivos.
- Lectura: esta operaciรณn es la operaciรณn de lectura bรกsica en la que se leen datos de un archivo.
- Escritura: esta es la operaciรณn bรกsica de escritura en la que se escriben datos en un archivo. De manera predeterminada, se eliminan todos los contenidos existentes del archivo y se escribe contenido nuevo.
- Anexar: esta operaciรณn tambiรฉn implica escribir informaciรณn en un archivo. La รบnica diferencia es que los datos existentes en un archivo no se sobrescriben. Los nuevos datos que se van a escribir se agregan al final del archivo.
Comandos bรกsicos de E/S
C# y .Net pueden trabajar con archivos con la ayuda de varios comandos de E/S de archivos. Echemos un vistazo a algunos de estos comandos. Para nuestro ejemplo, asumiremos que tenemos un archivo en la unidad D llamado Ejemplo.txt.
El archivo serรก un archivo de texto simple y tendrรก 2 lรญneas como se muestra a continuaciรณn.
- Gurรบ99 โ .Net
- Gurรบ99 -C#
Para nuestro ejemplo, crearemos una aplicaciรณn de consola simple y trabajaremos con nuestros comandos de E/S de archivos. La aplicaciรณn de consola es la bรกsica que se creรณ en el tutorial anterior. En la aplicaciรณn de consola, todo el cรณdigo se escribe en el archivo program.cs.
El archivo existe
El mรฉtodo Archivo existe se utiliza para comprobar si existe un archivo en particular. Ahora veamos el cรณdigo que se puede usar para verificar si nuestro archivo Ejemplo.txt existe o no. Ingrese el siguiente cรณdigo en el archivo program.cs.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Tutorial
{
static void Main(string[] args)
{
String path = @"D:\Example.txt";
if (File.Exists(path))
{
Console.WriteLine("File Exists");
}
Console.ReadKey();
}
}
}
Explicaciรณn del cรณdigo: -
- Primero, configuramos una variable de cadena con la ruta a nuestro archivo Ejemplo.txt.
- A continuaciรณn, utilizamos el mรฉtodo File.Exists para comprobar si el archivo existe o no. Si el archivo existe, se devolverรก un valor verdadero.
- Si obtenemos un valor verdadero y el archivo existe, escribimos el mensaje "El archivo existe" en la consola.
Cuando se configura el cรณdigo anterior y se ejecuta el proyecto mediante Visual Studio, obtendrรก el siguiente resultado.
Salida:-
De la salida anterior, puede ver que el comando File.Exists se ejecutรณ correctamente y se mostrรณ el mensaje correcto en la ventana de la consola.
Archivo.ReadAlllines
El mรฉtodo se utiliza para leer todas las lรญneas una por una en un archivo. Luego, las lรญneas se almacenan en una variable de matriz de cadenas. Veamos un ejemplo. Ingrese el siguiente cรณdigo en el archivo program.cs.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Tutorial
{
static void Main(string[] args)
{
String path = @"D:\Example.txt";
String[] lines;
lines = File.ReadAllLines(path);
Console.WriteLine(lines[0]);
Console.WriteLine(lines[1]);
Console.ReadKey();
}
}
}
Explicaciรณn del cรณdigo: -
- Primero, declaramos una variable de matriz de cadena. Esto se utilizarรก para almacenar el resultado que devolverรก el mรฉtodo File.ReadAllLines.
- A continuaciรณn, utilizamos el mรฉtodo File.ReadAllLines para leer todas las lรญneas de nuestro archivo de texto. Luego, el resultado se pasa a la variable de lรญneas.
- Como sabemos que nuestro archivo contiene solo 2 lรญneas, podemos acceder al valor de las variables de la matriz mediante el comando lรญneas [0] y lรญneas [1].
Cuando se configura el cรณdigo anterior y el proyecto se ejecuta usando Visual Studio, obtendrรก el siguiente resultado.
Salida:-
En el resultado, puede ver que el comando File.ReadAllLines devolviรณ ambas lรญneas de nuestro archivo Ejemplo.txt.
Archivo.ReadAllText
Este mรฉtodo se utiliza para leer todas las lรญneas de un archivo a la vez. Luego, las lรญneas se almacenan en una variable de cadena. Veamos un ejemplo. Ingrese el siguiente cรณdigo en el archivo program.cs.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Tutorial
{
static void Main(string[] args)
{
String path = @"D:\Example.txt";
String lines;
lines = File.ReadAllText(path);
Console.WriteLine(lines);
Console.ReadKey();
}
}
}
Explicaciรณn del cรณdigo: -
- Primero, declaramos una variable de cadena llamada Lรญneas. Esto se utilizarรก para almacenar el resultado que devolverรก el mรฉtodo File.ReadAllText.
- A continuaciรณn, utilizamos el mรฉtodo File.ReadAllText para leer todas las lรญneas de nuestro archivo de texto. Luego, el resultado se pasa a la variable de lรญneas.
- Podemos usar directamente el mรฉtodo Console.Writeline para mostrar el valor de la variable Lines.
Cuando se configura el cรณdigo anterior y se ejecuta el proyecto mediante Visual Studio, obtendrรก el siguiente resultado.
Salida:-
En el resultado, puede ver que el comando File.ReadAlltext devolviรณ ambas lรญneas de nuestro archivo Ejemplo.txt.
Copia de archivo
El mรฉtodo se utiliza para hacer una copia de un archivo existente. Veamos un ejemplo. Ingrese el siguiente cรณdigo en el archivo program.cs.
using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Tutorial
{
static void Main(string[] args)
{
String path = @"D:\Example.txt";
String copypath = @"D:\ExampleNew.txt";
File.Copy(path,copypath);
Console.ReadKey();
}
}
}
Explicaciรณn del cรณdigo: -
- Primero, declaramos una variable de cadena llamada ruta. Esta serรก la ubicaciรณn de nuestro archivo Example.txt. Este archivo serรก el archivo fuente utilizado para la operaciรณn de copia.
- A continuaciรณn, declaramos una variable de cadena llamada ruta de copia. Esta serรก la ubicaciรณn de un nuevo archivo llamado archivo EjemploNuevo.txt. Este serรก el archivo de destino en el que se escribirรกn los contenidos desde el archivo fuente Ejemplo.txt.
- Luego llamamos al mรฉtodo File.Copy para copiar el archivo Ejemplo.txt al archivo EjemploNuevo.txt.
Cuando se configura el cรณdigo anterior y se ejecuta el proyecto mediante Visual Studio, el archivo Example.txt se copiarรก a ExampleNew.txt.
Archivo.Eliminar
El mรฉtodo se utiliza para eliminar un archivo existente. Veamos un ejemplo. Ingrese el siguiente cรณdigo en el archivo program.cs.
using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Tutorial
{
static void Main(string[] args)
{
String path = @"D:\Example.txt";
File.Delete(path);
Console.ReadKey();
}
}
}
Explicaciรณn del cรณdigo: -
- Primero, declaramos una variable de cadena llamada ruta. Esta serรก la ubicaciรณn de nuestro archivo Ejemplo.txt. Este es el archivo que se eliminarรก.
- A continuaciรณn, llamamos al mรฉtodo File.Delete para eliminar el archivo.
Cuando se configura el cรณdigo anterior y se ejecuta el proyecto mediante Visual Studio, el archivo Example.txt se eliminarรก de la unidad D.
Resumen
- C# tiene varias operaciones de archivo que se pueden realizar con archivos. La mayorรญa de estas operaciones son parte de la clase File.
- Si desea leer datos de un archivo, puede utilizar los mรฉtodos File.ReadAlltext o File.ReadAllLines.
| Mรฉtodo de archivo | Descripciรณn |
|---|---|
| El archivo existe | El mรฉtodo de archivo existente se utiliza para comprobar si existe un archivo en particular. |
| Archivo.ReadAlllines | El mรฉtodo se utiliza para leer todas las lรญneas una por una en un archivo. |
| Archivo.ReadAllText | Este mรฉtodo se utiliza para leer todas las lรญneas de un archivo a la vez. |
| Copia de archivo | El mรฉtodo se utiliza para hacer una copia de un archivo existente. |
| Archivo.Eliminar | El mรฉtodo se utiliza para eliminar un archivo existente. |








