Lectura y
escritura de archivos en C#
El manejo de archivos en la
plataforma .NET se logra mediante la clase Stream que representa un flujo de
información (Un archivo es considerado un flujo de datos).
La clase Stream, es una
clase abstracta, por lo que no es posible utilizarla directamente ya que no se
puede crear instancias. Lo que se debe hacer es utilizar una de sus clases
derivadas que se especializan en el tratamiento de streams para diferentes
destinos como por ejemplo FileStream (para el manejo de archivos), Memorystream
(para el manejo de datos en memoria).
La primera opción para
escribir y/o leer datos de un archivo de texto es utilizar la clase FileStream.
Esta clase se encuentra en el namespace System.IO y es una clase derivada de la
clase Stream.
El FileStream actúa como un
intermediario entre el sistema de archivos y nuestra aplicación, permitiendo
realizar de una manera limpia y sencilla operaciones de escritura y lectura en
archivos. Para utilizar el FileStream, lo primero que se debe hacer es crear
una instancia que apunte al archivo deseado.
Clase FileStream
La clase FileStream puede
leer y escribir archivos del sistema operativo.
FileStream se puede utilizar
para realizar las operaciones básicas de lectura y escritura de archivos del
sistema operativo. Para usar esta clase, primero debe declarar una variable de
la clase FileStream.
Para usar esta clase, debe
incluir el espacio de nombres:System.IO
C# StreamWriter
La clase StreamWriter se
puede utilizar para escribir archivos de texto. La clase StreamWriter tiene
varios constructores y nos proporciona muchos métodos. Se ubica mejor en una
declaración de uso para garantizar que los recursos se puedan eliminar cuando
ya no se necesiten.
C# StreamReader
StreamReader lee archivos de
texto.Esta clase proporciona varios constructores, uno de los constructores de
esta clase.
DEMOSTRACIÓN
En Visual Studio vamos a dar click en menú File à New à Project
En la Ventana emergente le damos click a Window, seleccionamos
la opción “Console Application” y espacio Name colocamos el nombre del proyecto
que para el Ejemplo es “Demo 6 20483” y luego presionamos el botón OK
Ahora procederemos para nuestro siguiente ejemplo a
crear una biblioteca de clases, vamos a trabajar, para ello nos situamos en la
solución de nuestro proyecto, le damos click derecho al mouse y nos dirigimos a
Add à
New Project
En la ventana que se despliega seleccionamos la opción
‘ClassLibrary’ y colocamos como nombre ‘LibreriaClase’ para luego a proceder a
dar click al botón OK
En el archivo de la Librería de clases, situamos el
puntero del mouse y damos click derecho y nos dirigimos a Add à
New Items
En la Ventana emergente seleccionamos la opción de
Class y colocamos como Nombre Empleado
La clase Empleado estaría constituida de la siguiente
forma:
En el archivo
Program.cs de nuestro proyecto debajo del método Main() empezaremos a escribir el
método correspondiente al llenado del archivo txt:
Seguimos con la
ubicación del directorio
Continuamos con el Path:
Ahora codificaremos
el de serialización:
Y finalizaremos con
el Deserialización:
Antes de ejecutar el
ejemplo crearemos una carpeta de nombre ‘TestFolder’ en el escritorio de
nuestro PC
Empezaremos
debugeando nuestro ejemplo, fijese que con la instrucción File.WriteLine
escribiremos en nuestro archivo la información correspondiente al arreglo
Usando la clase
StreamWritter también podemos escribir en un archivo de texto:
Y si nos dirigimos a
la carpeta TestFolder encontraremos los archivos texto correspondiente
Seguimos debugendo pero al método directorio, donde crearemos un archivo txt y lo colocaremos en una carpeta y nos dirá el número de líneas que tiene
Seguimos con el
ejemplo Path:
Y serializaremos en
un archivo de texto
Donde una vez
finalizado nos dirigimos nuevamente a nuestra carpeta ‘TestFolder’ que esta en el
escritorio y allí encontraremos el archivo
Y
para deserializar el archivo y mostrarlo en pantalla