Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Entrada/Salida de archivos en C#: Lectura, escritura y gestión de streams

Un archivo es una colección de datos almacenados en disco con un nombre y ruta de directorio específicos. Cuando un archivo se abre para lectura o escritura, se convierte en un stream (flujo).

El stream es básicamente la secuencia de bytes que pasa por el camino de comunicación. Hay dos flujos principales: flujo de entrada (input stream) y flujo de salida (output stream). El flujo de entrada se usa para leer datos del archivo (operación de lectura) y el flujo de salida para escribir en el archivo (operación de escritura).

Clases de E/S en C#

El espacio de nombres System.IO tiene varias clases para operaciones con archivos: crear, eliminar, leer, escribir, cerrar, etc.

Clases no abstractas comúnmente usadas en System.IO:

Nº Clase E/S y descripción
1BinaryReader: Lee datos primitivos de un stream binario.
2BinaryWriter: Escribe datos primitivos en formato binario.
3BufferedStream: Almacenamiento temporal para un stream de bytes.
4Directory: Ayuda a manipular estructura de directorios.
5DirectoryInfo: Operaciones en directorios.
6DriveInfo: Información de unidades de disco.
7File: Manipulación de archivos.
8FileInfo: Operaciones en archivos.
9FileStream: Lectura/escritura en cualquier ubicación de un archivo.
10MemoryStream: Acceso aleatorio a datos en memoria.
11Path: Operaciones en información de rutas.
12StreamReader: Lectura de caracteres desde un stream de bytes.
13StreamWriter: Escritura de caracteres en un stream.
14StringReader: Lectura desde un buffer de cadena.
15StringWriter: Escritura en un buffer de cadena.

La clase FileStream

La clase FileStream en System.IO ayuda a leer, escribir y cerrar archivos. Deriva de la clase abstracta Stream.

Necesita crear un objeto FileStream para crear un archivo nuevo o abrir uno existente:

FileStream <nombre_objeto> = new FileStream(<nombre_archivo>, <FileMode>, <FileAccess>, <FileShare>);

Ejemplo:

FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);

Parámetros:

Nº Parámetro y descripción
1FileMode: Define métodos para abrir archivos.
  • Append: Abre archivo existente y pone cursor al final, o crea si no existe.
  • Create: Crea archivo nuevo.
  • CreateNew: Indica al SO que cree archivo nuevo.
  • Open: Abre archivo existente.
  • OpenOrCreate: Abre si existe, sino crea nuevo.
  • Truncate: Abre existente y trunca a cero bytes.
2FileAccess: Miembros: Read, ReadWrite, Write.
3FileShare: Miembros:
  • Inheritable: Permite pasar handle a procesos hijos.
  • None: No comparte el archivo actual.
  • Read: Permite abrir para lectura.
  • ReadWrite: Permite abrir para lectura y escritura.
  • Write: Permite abrir para escritura.

Ejemplo: Uso de FileStream

using System;
using System.IO;

namespace AplicaciónArchivoIO {
    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();
        }
    }
}

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#

Para aprovechar el poder de las clases System.IO, necesita conocer las propiedades y métodos comúnmente usados.

Nº Tema y descripción
1Lectura/escritura en archivos de texto: Involucra StreamReader y StreamWriter.
2Lectura/escritura en archivos binarios: Involucra BinaryReader y BinaryWriter.
3Manipulación del sistema de archivos Windows: Navegar y localizar archivos y directorios.

Lenguaje C

  1. Titanio: propiedades clave, aplicaciones e usos industriales
  2. Castañuelas: Historia, Artesanía y Ejecución
  3. Historia, producción y futuro del pegamento: de adhesivos antiguos a innovaciones modernas
  4. Estaño: de la Edad del Bronce a la industria moderna — Usos, producción y futuro
  5. Limas de Taller: Tipos, Clasificación, Uso Correcto y Seguridad
  6. Dominando la entrada/salida en C: scanf() y printf() explicados
  7. Manejo de archivos en C: Dominando E/S con fopen, fprintf, fread y fseek
  8. Dominando E/S de archivos en C: Crear, abrir y gestionar archivos
  9. Entendiendo los Archivos de Cabecera en C: Tipos, Uso y Buenas Prácticas
  10. Entrada/Salida de Archivos en Python: Dominando Operaciones de Lectura, Escritura y Gestión
  11. Entrada/Salida de Archivos en Python: Domina las Operaciones I/O