Copio este método de los apuntes del profesor, trabajare en binarios más adelante con Java:
//Recuerda que la clase base es Stream. Esta es una clase abstracta
//que proporciona los mecanismos necesarios para leer y escribir bytes
//FileStream deriva de Stream
/*En este ejercicio vamos a trabajar con una clase que no operan directamente con el flujo(bytes)
como es BinaryWriter (eso sí recibe un flujo de bytes)
Escribe tipos primitivos en binario en una secuencia y
admite escribir cadenas en una codificación específica.
Método para escribir en un fichero mediante ---BinaryWriter---
Tanto StreamReader y BinaryReader se pueden utilizar para obtener datos de archivo binario
BinaryReader es ancestro de StreamReader
/*Si la totalidad de sus datos es una codificación binaria directa de datos de texto, utilizar StreamReader .
Si tenemos fundamentalmente datos binarios que pueden pasar a tener algunas porciones de texto, utilice BinaryReader*/
//using System.IO; //librería importada para hacer uso de la clase FileStream
public void EscribirBinario(string nombreFichero)
{
FileStream flujo = new FileStream(nombreFichero, FileMode.Create, FileAccess.Write); //Recuerda que Create machaca
//si ya existía el fichero
BinaryWriter ficheroBinario = new BinaryWriter(flujo);
// string cadena = "Hola mundo";
// ficheroBinario.Write(cadena); //tenemos este método donde escribimos directamente en el fichero binario (le pasamos un string)
int valor = 10;
ficheroBinario.Write(valor);
//cerramos flujos base e intermedio
ficheroBinario.Close();
flujo.Close();
}
//usando ---BinaryReader--- junto a FileStrem
public string LeerBinario(string nombreFichero)
{ //flujo base
FileStream flujo = new FileStream(nombreFichero, FileMode.Open, FileAccess.Read);
//flujo intermedio
BinaryReader fichero = new BinaryReader(flujo);
string cadena = fichero.ReadString(); //lee todo el fichero y lo pasa a string
fichero.Close();
flujo.Close();
return cadena;
}
private void Form1_Load(object sender, EventArgs e)
{
// 1. Escribimos
EscribirBinario("Enrique.dat");
// 2. Leemos el fichero binario
pantalla.Text= LeerBinario("prueba2.bin");
}
0 comentarios:
Publicar un comentario