Con la clase FileStream es posible leer y escribir en ficheros de texto.
A continuación se muestran un ejemplo de escritura y otro de lectura, con comentarios indicando las equivalencias con C/C++
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CÓDIGO ESCRITURA EN FICHERO DE TEXTO
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Private Sub bt_escribir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_escribir.Click
'Equivale en C/C++ a:
'FILE * fichero
'fichero = fopen (ruta, modo apertura)
Dim fichero As New FileStream("C:\datos.txt", FileMode.Create, FileAccess.ReadWrite)
Dim tabla_buffer As Byte()
tabla_buffer = Encoding.Default.GetBytes(TextBox1.Text)
'ahora se usaria fseek pero estamos al principio del fichero
fichero.Seek(0, SeekOrigin.Begin)
'Equivale en C/C++ a:
'fwrite
'fichero.Write(TABLA A ESCRIBIR, DATO INICIAL, CANTIDAD DE DATOS)
fichero.Write(tabla_buffer, 0, tabla_buffer.Length)
'Equivale en C/C++ a:
'fclose
fichero.Close()
End Sub
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CÓDIGO LECTURA DE FICHERO DE TEXTO
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Private Sub bt_leer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_leer.Click
'FILE * fichero
'fichero = fopen (ruta, modo apertura)
Dim fichero As New FileStream("C:\datos.txt", FileMode.Open, FileAccess.ReadWrite)
Dim tabla_buffer(CInt(fichero.Length - 1)) As Byte
'ahora se usaria fseek pero estamos al principio del fichero
fichero.Seek(0, SeekOrigin.Begin)
'fread
'fichero.Write(TABLA A ESCRIBIR, DATO INICIAL, CANTIDAD DE DATOS)
fichero.Read(tabla_buffer, 0, tabla_buffer.Length)
'transformamos los bytes de la tabla_buffer en un string
'y los asignamos al textbox
TextBox1.Text = Encoding.Default.GetString(tabla_buffer)
'fclose
fichero.Close()
End Sub
No hay comentarios:
Publicar un comentario