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:
Publicación traducida automáticamente
Artículo escrito por ManasiKirloskar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA