C# - E/S de archivos
Un archivo es una colección de datos almacenados en un disco con un nombre específico y una ruta de directorio. Cuando se abre un archivo para leerlo o escribirlo, se convierte en un flujo .
El flujo es básicamente la secuencia de bytes que pasan a través de la ruta de comunicación. Hay dos flujos principales:el flujo de entrada y el flujo de salida . El flujo de entrada se utiliza para leer datos del archivo (operación de lectura) y el flujo de salida se utiliza para escribir en el archivo (operación de escritura).
Clases de E/S de C#
El espacio de nombres System.IO tiene varias clases que se utilizan para realizar numerosas operaciones con archivos, como crear y eliminar archivos, leer o escribir en un archivo, cerrar un archivo, etc.
La siguiente tabla muestra algunas clases no abstractas de uso común en el espacio de nombres System.IO −
| Sr.No. | Clase de E/S y descripción |
|---|---|
| 1 | Lector binario Lee datos primitivos de un flujo binario. |
| 2 | Escritor binario Escribe datos primitivos en formato binario. |
| 3 | Transmisión en búfer Un almacenamiento temporal para un flujo de bytes. |
| 4 | Directorio Ayuda a manipular una estructura de directorios. |
| 5 | Información de directorio Se utiliza para realizar operaciones en directorios. |
| 6 | Información de la unidad Proporciona información para las unidades. |
| 7 | Archivo Ayuda en la manipulación de archivos. |
| 8 | Información de archivo Se utiliza para realizar operaciones en archivos. |
| 9 | Transmisión de archivos Se utiliza para leer y escribir en cualquier ubicación de un archivo. |
| 10 | Flujo de memoria Se utiliza para el acceso aleatorio a datos transmitidos almacenados en la memoria. |
| 11 | Ruta Realiza operaciones en la información de la ruta. |
| 12 | StreamReader Se utiliza para leer caracteres de un flujo de bytes. |
| 13 | Escritor de flujo Se utiliza para escribir caracteres en una transmisión. |
| 14 | Lector de cadenas Se utiliza para leer desde un búfer de cadenas. |
| 15 | Escritor de cadenas Se utiliza para escribir en un búfer de cadenas. |
La clase FileStream
El FileStream La clase en el espacio de nombres System.IO ayuda a leer, escribir y cerrar archivos. Esta clase deriva de la clase abstracta Stream.
Necesitas crear un FileStream objeto para crear un nuevo archivo o abrir un archivo existente. La sintaxis para crear un FileStream el objeto es el siguiente −
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);
Por ejemplo, creamos un objeto FileStream F para leer un archivo llamado sample.txt como se muestra −
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
FileShare.Read);
| Sr.No. | Parámetro y descripción |
|---|---|
| 1 | Modo de archivo El modo de archivo enumerator define varios métodos para abrir archivos. Los miembros del enumerador FileMode son −
|
| 2 | Acceso a archivos Acceso a archivos los enumeradores tienen miembros:Read , lectura y escritura y Escribir . |
| 3 | Compartir archivos Compartir archivos los enumeradores tienen los siguientes miembros −
|
Ejemplo
El siguiente programa demuestra el uso de FileStream clase −
Demostración en vivo
using System;
using System.IO;
namespace FileIOApplication {
class Program {
static void Main(string[] args) {
FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate,
FileAccess.ReadWrite);
for (int i = 1; i <= 20; i++) {
F.WriteByte((byte)i);
}
F.Position = 0;
for (int i = 0; i <= 20; i++) {
Console.Write(F.ReadByte() + " ");
}
F.Close();
Console.ReadKey();
}
}
}
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado −
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1
Operaciones avanzadas de archivos en C#
El ejemplo anterior proporciona operaciones de archivos simples en C#. Sin embargo, para utilizar los inmensos poderes de las clases C# System.IO, debe conocer las propiedades y los métodos de uso común de estas clases.
| Sr.No. | Tema y descripción |
|---|---|
| 1 | Leer y escribir en archivos de texto Implica leer y escribir en archivos de texto. El StreamReader y StreamWriter la clase ayuda a lograrlo. |
| 2 | Lectura y escritura en archivos binarios Implica leer y escribir en archivos binarios. El lector binario y BinaryWriter la clase ayuda a lograr esto. |
| 3 | Manipulación del sistema de archivos de Windows Da a un programador de C# la capacidad de buscar y localizar archivos y directorios de Windows. |
Lenguaje C