De forma similar a la que se escriben y leen datos en ficheros de texto mediante StreamWriter y StreamReader, es posible realizar el mismo proceso en ficheros binarios mediante sus equivalentes:
BinariWriter y BinaryReader
Al igual que en el caso de los ficheros de texto el proceso se reduce a tres pasos:
1 - Creación del lector o escritor.
2 - Leer o escribir.
3 - Cerrar el fichero.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CÓDIGO ESCRITURA DE UN ÚNICO DATO EN UN FICHERO BINARIO
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Private Sub bt_guardar_binario_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_guardar_binario.Click
'crear el escritor equivale al fopen de c/c++
Dim fichero As New BinaryWriter(File.Open("C:\datos_binarios.vaf",
FileMode.Create, FileAccess.ReadWrite))
Dim numero_inicial As Single = CSng(txt_numero_inicial.Text)
'se escribe el valor de la variable en el fichero binario
fichero.Write(numero_inicial)
'se cierra el fichero
fichero.Close()
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CÓDIGO LECTURA DE UN ÚNICO DATO EN UN FICHERO BINARIO
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CÓDIGO LECTURA DE UN ÚNICO DATO EN UN FICHERO BINARIO
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Private Sub bt_leer_binario_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_leer_binario.Click
'crear el lector equivale al fopen de c/c++
Dim fichero As New BinaryReader(File.Open("C:\datos_binarios.vaf",
FileMode.Open, FileAccess.ReadWrite))
Dim dato_leido As Single
dato_leido = fichero.ReadSingle()
txt_leido.Text = dato_leido.ToString
'se cierra el fichero
fichero.Close()
End Sub
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CÓDIGO ESCRITURA DE VARIOS DATOS EN UN FICHERO BINARIO
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Private Sub bt_guardar_listado_binario_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_guardar_listado_binario.Click
'crear el escritor equivale al fopen de c/c++
Dim fichero As New BinaryWriter(File.Open("C:\datos_binarios.vaf",
FileMode.Create, FileAccess.ReadWrite))
Dim numero_inicial As Single = CSng(txt_numero_inicial.Text)
Dim numero_final As Single = CSng(txt_numero_final.Text)
'se escriben los valores que va tomando la variable en el fichero binario
For dato As Single = numero_inicial To numero_final
fichero.Write(dato)
Next
'se cierra el fichero
fichero.Close()
End Sub
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CÓDIGO LECTURA DE TODOS LOS DATOS DE UN FICHERO BINARIO DE SINGLES
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Private Sub bt_leer_todo_binario_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_leer_todo_binario.Click
'crear el lector equivale al fopen de c/c++
Dim fichero As New BinaryReader(File.Open("C:\datos_binarios.vaf",
FileMode.Open, FileAccess.ReadWrite))
Dim dato_leido As Single
Dim sumatorio As Single
'Se vacía el textbox para que no se concatene con el contenido
'generado por una pulsación anterior del botón
txt_leido.Text = ""
'se realiza un bucle leyendo hasta final del fichero
While fichero.PeekChar > -1
dato_leido = fichero.ReadSingle()
txt_leido.Text = txt_leido.Text & dato_leido.ToString & Environment.NewLine
sumatorio += dato_leido
End While
'se muestra un messagebox indicando el total del sumatorio
MessageBox.Show("Los datos del fichero suman: " & sumatorio.ToString)
'se cierra el fichero
fichero.Close()
End Sub
No hay comentarios:
Publicar un comentario