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 vivousing 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