Leer y Escribir
💾 FileStream: Manejo de Archivos en .NET
Definición:
FileStream
es una clase que proporciona una vista de secuencia para leer y escribir en archivos.Uso Común: Se utiliza para operaciones de entrada/salida en el sistema de archivos.
🧩 Uso Básico de FileStream
Crear un
FileStream
: InstanciarFileStream
para crear, leer o escribir en un archivo.Leer y Escribir: Ofrece métodos
ReadAsync
yWriteAsync
para trabajar con datos de forma asíncrona.
El método WriteToFileAsync
:
WriteToFileAsync
:Convierte el texto a un arreglo de bytes usando la codificación UTF-8. Esto es necesario porque
FileStream
trabaja con bytes.Crea un nuevo
FileStream
con la ruta del archivo, indicando que vamos a crear el archivo y tener acceso de escritura.La opción
FileShare.None
significa que mientras estemos escribiendo, ningún otro proceso podrá acceder al archivo.bufferSize: 4096
define el tamaño del búfer. Un búfer es como un área de almacenamiento temporal para los datos que estamos leyendo o escribiendo.useAsync: true
indica que vamos a usar operaciones asincrónicas con este flujo de archivo.await sourceStream.WriteAsync(encodedText, 0, encodedText.Length)
escribe el arreglo de bytes al archivo de manera asincrónica. Elawait
es lo que permite que la operación se ejecute sin bloquear el hilo principal.
El método ReadFromFileAsync
:
ReadFromFileAsync
:Crea un nuevo
FileStream
para leer el archivo existente.Inicializa un objeto
StringBuilder
para acumular el texto que vamos a leer.Crea un búfer para leer los datos.
Usa un bucle
while
para leer el archivo hasta que no haya más datos (numRead = 0
).Dentro del bucle,
await sourceStream.ReadAsync(buffer, 0, buffer.Length)
lee los datos de manera asincrónica en el búfer.Encoding.UTF8.GetString(buffer, 0, numRead)
convierte los bytes leídos a una cadena de texto.sb.Append(text)
agrega el texto leído alStringBuilder
.Finalmente, retorna el texto completo como una cadena.
Última actualización