miércoles, 10 de junio de 2009

Flujo de datos de tipos primitivos

En la mayoria de las aplicaciones se requiere escribir un archivo de datos para datos:
bool,byte, double, float, long , int, short...etc , no solo cadena de caracteres, en formato binario.
En C# la clase BinaryReader Y BinaryWriter , que permiten leer y escribir, respectivamente, datos de cualquuier tipo en formato binario y cadena de caracteres en formato UTF-8.

BinaryWriter
Un flujo de la clase BinaryWriter permite a una aplicación escribir datos de cualquier tipo primitivo.
El siguiente contructor abre un flujo de salida (escribir) hacia el archivo unido a otro flujo de la clase Stream o de sus derivadas.


BynaryWriter (Stream flujo)

Ejemplo

FileStream fs=new FileStream("d:\\datos\elementos.dat", FileMode.Create, FileAccess.Write);

BinaryWriter bw=new BinaryWriter(fs);

Un programa almacena datos en la unidad d subdirectorio datos y el archivo elementos
escribirá datos en el flujo bw y esta conectado al flujo fs abierto hacia ese archivo.

Metodos para BynaryWriter

Write(byte) Escribe un valor tipo byte.
Write(Bytes[])Escribe una arreglo de bytes.
Write(char) Escribe un valor tipo char
Write(char []) Escribe una arreglo o cadena de caracteres
Write(short) Escribe un valor de tipo short
Write(int )Escribe un valor de tipo int
Write(long) Escribe un valor tipo long
Write(Decimal)Escribe un valor de tipo decimal
Write(float) Escribe un valor de tipo float
Write(double) Escribe un valor de tipo float
Write(string) Escribe una cadena de caracteres en formato UTF-8
BaseStream Obtiene el flujo subyacente
Close Cierra el flujo y libera los recursos adquiridos
Flush Limpia el buffer asociado con el flujo enviando su contenido a éste
Seek Establece el apuntador en el flujo

BinaryReader

Un flujo de la clase BinaryReader , permite a una aplicación leer datos de cualquier tipo primitivo .

El siguiente constructor abre un flujo de entrada(leer) desde el archivo unido a otro flujo de la clase Stream

BinaryReader( Stream Flujo)

Ejemplo:

FileStream fs=new FileStream("d:\\datos\\elementos.dat", FileMode.Open, FileAccess.Read);

BinaryReader br=new BinaryReader(fs);

Métodos más utilizados de la clase BinaryReader

ReadByte Devuelve un valor de tipo byte
ReadBytes Devuelve un valor de tipo byte[]
ReadChar Devuelve un valor de tipo char
ReadChars Devuelve un valor de tipo char[]
ReadInt16 Devuelve un valor de tipo short
ReadInt32 Devuelve un valr de tipo int
ReadInt64 Devuelve un valor de tipo long
ReadDecimal Devuelve un valor tipo Decimal
ReadSingle Devuelve un valor de tipo float
ReadDouble Devuelve un valor de tipo double
ReadString Devuelve una cadena de caracteres en formato UTF-8

BaseStream Obtiene el flujo subyacente
Close Cierra el flujo y libera los recursos adquiridos
PeekChar Obtiene el siguiente carácter sin extraerlo

Pasos para escribir datos en un archivo
1)Definir un flujo hacia el archivo donde se desea almacenar los datos
2)Lectura de datos del dispositivo de entrada y escribimos en el archivo.Este proceso se hace mientrar existan datos a almacenar
3)cerrar el flujo


Pasos para leer datos de un archivo existente

1)Abrir un flujo desde el archivo del cual se desea leer los datos
2)Leer los datos del archivo y almacenarlos en variables de nuestros programa con el objetivo de trabajar con ellos. Este proceso se hace mientras existan datos a leer.
3)Cerrar flujo

No hay comentarios: