Conceptos básicos de FileStream en C#

FileStream es una clase utilizada para leer y escribir archivos en C#. Es parte del espacio de nombres System.IO. Para manipular archivos usando FileStream, debe crear un objeto de la clase FileStream. Este objeto tiene cuatro parámetros; el nombre del archivo, FileMode, FileAccess y FileShare.

La sintaxis para declarar un objeto FileStream se da como

FileStream fileObj = new FileStream(file Name/Path, FileMode.field, FileAccess.field, FileShare.field);

Parámetro Descripción Campos
Nombre del Archivo Nombre del archivo con el que desea trabajar junto con su extensión o la ruta completa del archivo. Por ejemplo: FileName.txt, @”C:\Users\Username\Documents\FileName.txt”
modo de archivo Especifica en qué modo se debe abrir el archivo. Abrir: para abrir un archivo existente
Crear: para crear un nuevo archivo si ya existe el mismo nombre de archivo, se sobrescribirá
Abrir o crear: para abrir un archivo si existe o crear uno nuevo si no existe
Crear: para específicamente crear un archivo nuevo
Agregar: para abrir un archivo existente y agregar más información al final del archivo. Si el archivo no existe, se creará un nuevo archivo
Truncar – Para abrir un archivo existente y truncar su tamaño a Cero bytes
Acceso a archivos Especifica el acceso al archivo. – Lectura: para leer datos de un archivo
– Escritura: para escribir datos en un archivo
– Lectura y escritura: para leer y escribir datos en un archivo
Recurso compartido de archivos Especifica el acceso dado a otros objetos FileStream a este archivo en particular – Ninguno: para rechazar compartir el archivo. Cualquier solicitud de acceso fallará hasta que se cierre el archivo.
– Leer: para permitir la lectura posterior del archivo.
– Escribir: para permitir la escritura posterior en el archivo.
– ReadWrite: para permitir la posterior lectura y escritura del archivo.
– Eliminar: para permitir la eliminación posterior del archivo.
– Heredable: para permitir que el manejo del archivo sea heredable por procesos secundarios.

Ejemplo: en el código que se proporciona a continuación, escribimos y leemos un texto en un archivo de texto. Para escribir el texto, primero cree un objeto de la clase FileStream en modo Crear y acceso de Escritura. Almacene el texto que desea escribir en una variable de tipo var, es una palabra clave utilizada para declarar tipos implícitos.

A continuación, cree una array de bytes y codifique el texto en UTF8, que es un estándar de codificación capaz de codificar todos los 1, 112, 064 puntos de código de caracteres válidos en Unicode. Luego, usando el método Write(), escriba en el archivo de texto. Los parámetros del método Write() son la array de bytes desde la que escribir, el desplazamiento del archivo de texto y la longitud del texto. Por último, cierre el objeto FileStream usando Close().

Para leer el archivo de texto creamos un objeto FileStream en modo Abierto y acceso de Lectura. Declare una array de bytes para leer del archivo de texto y un número entero para mantener el recuento de bytes. Usando el método Read(), lea desde el archivo de texto. Los parámetros del método Read() son la array de bytes, el desplazamiento del archivo de texto desde donde comenzar a leer y la longitud del texto que debe leerse. Por último, usando GetString(), escriba el texto leído de la array de bytes en la consola.

// C# program to write and read from 
// a text file using FileStream class
using System;
using System.IO;
using System.Text;
   
namespace FileStreamWriteRead {
   
class GFG {
   
    static void Main(string[] args)
    {
        // Create a FileStream Object
        // to write to a text file
        // The parameters are complete 
        // path of the text file in the 
        // system, in Create mode, the
        // access to this process is 
        // Write and for other 
        // processes is None
        FileStream fWrite = new FileStream(@"M:\Documents\Textfile.txt",
                     FileMode.Create, FileAccess.Write, FileShare.None);
   
        // Store the text in the variable text
        var text = "This is some text written to the textfile "+
                       "named Textfile using FileStream class.";
   
        // Store the text in a byte array with
        // UTF8 encoding (8-bit Unicode 
        // Transformation Format)
        byte[] writeArr = Encoding.UTF8.GetBytes(text);
   
        // Using the Write method write
        // the encoded byte array to
        // the textfile
        fWrite.Write(writeArr, 0, text.Length);
   
        // Closee the FileStream object
        fWrite.Close();
   
        // Create a FileStream Object
        // to read from a text file
        // The parameters are complete
        // path of the text file in 
        // the system, in Open mode,
        // the access to this process is
        // Read and for other processes
        // is Read as well
        FileStream fRead = new FileStream(@"M:\Documents\Textfile.txt", 
                       FileMode.Open, FileAccess.Read, FileShare.Read);
   
        // Create a byte array 
        // to read from the 
        // text file
        byte[] readArr = new byte[text.Length];
        int count;
   
        // Using the Read method 
        // read until end of file
        while ((count = fRead.Read(readArr, 0, readArr.Length)) > 0) {
            Console.WriteLine(Encoding.UTF8.GetString(readArr, 0, count));
        }
   
        // Close the FileStream Object
        fRead.Close();
        Console.ReadKey();
    }
}
}

Producción:

filetstream read and write in C#

Publicación traducida automáticamente

Artículo escrito por ManasiKirloskar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *