Está en la página 1de 4

Visual Basic Avanzado: Sesin 01

Uso de las Clases StreamReader y StreamWriter para archivos de texto

Definicin de la Clase StreamReader:


Implementa un TextReader que lee los caracteres de una secuencia de bytes en una codificacin
determinada. Un TextReader representa un lector que puede leer una serie secuencial de
caracteres.
La ruta de acceso completa se especifica mediante el parmetro path.Este constructor inicializa la
codificacin a UTF8Encoding y el tamao de bfer a 1024 bytes. El parmetro path puede ser un
nombre de archivo, incluido un archivo en un recurso compartido UNC (Convencin de
nomenclatura universal). No es necesario que el parmetro path sea un archivo almacenado en
disco; puede ser cualquier parte de un sistema que admita el acceso a travs de secuencias.

Definicin de la Clase StreamWriter:


Implementa TextWriter para escribir los caracteres de una secuencia en una codificacin
determinada. Un TextWriter Representa un sistema de escritura que puede escribir una serie
secuencial de caracteres.Esta clase es abstracta.
Este constructor crea StreamWriter con codificacin UTF-8 sin marca de orden de bytes (BOM),
por lo que su mtodo GetPreamble devuelve una matriz de bytes vaca.Para crear StreamWriter
mediante la codificacin UTF-8 y una marca BOM, considere la posibilidad de utilizar un
constructor que especifique la codificacin, como StreamWriter(String, Boolean, Encoding). El
parmetro path puede ser un nombre de archivo, incluido un archivo en un recurso compartido
UNC (Convencin de nomenclatura universal).Si el archivo existe, se sobrescribe; en caso
contrario, se crea un nuevo archivo. No es necesario que el parmetro path sea un archivo
almacenado en disco; puede ser cualquier parte de un sistema que admita el acceso a travs de
secuencias.

<<ver ejemplo en la pgina siguiente>>

Ejemplo Demostrativo:
Imports System
Imports System.IO
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\temp\MyTest.txt"
Try
If File.Exists(path) Then
File.Delete(path)
End If
Dim sw As StreamWriter = New StreamWriter(path)
sw.WriteLine("Este")
sw.WriteLine("es un texto")
sw.WriteLine("para probar")
sw.WriteLine("Reading")
sw.Close()
Dim sr As StreamReader = New StreamReader(path)
Do While sr.Peek() >= 0
Console.WriteLine(sr.ReadLine())
Loop
sr.Close()
Catch e As Exception
Console.WriteLine("El proceso ha fallado: {0}", e.ToString())
End Try
End Sub
End Class

Creando una Aplicacin de ejemplo:


1. Abra Visual Studio y cree un Nuevo proyecto de tipo Aplicacin de Windows Forms
2. Disee la siguiente interfaz:

TextBox con
MultiLine en True

3. Para escribir el cdigo primero debemos asegurarnos de Importar la librera System.IO que
es necesaria para trabajos de E/S, esta instruccin debe incluirse en la seccin
correspondiente del editor de cdigo, (encima de Public Class Form1):

Imports System.IO

4. Necesitamos agregar dos componentes a su Formulario:

5. En el evento click del botn rotulado como Open, escribimos el siguiente cdigo:

Try
OpenFileDialog1.Filter = "Archivos de texto (*.txt)|*.txt"
OpenFileDialog1.ShowDialog() 'mostrar cuadro de dilogo
Texto = New StreamReader(OpenFileDialog1.FileName)
Me.Text = OpenFileDialog1.FileName
TextBox1.Text = Texto.ReadToEnd
Texto.Close()
TextBox1.Select(0, 0)
Catch ex As Exception
MsgBox("Ha ocurrido un error al abrir el archivo " & ex.Message)
End Try

6. Luego pasamos a escribir el cdigo correspondiente al botn Guardar como:

If SaveFileDialog1.ShowDialog() = DialogResult.OK Then


Try
guardar = File.CreateText(SaveFileDialog1.FileName)
guardar.WriteLine(TextBox1.Text)
guardar.Close()
TextBox1.Text = ""
Catch ex As Exception
MsgBox("Ocurrio un error al momento de guardar")
End Try
End If

7. El botn Actualizar es un caso especial, pruebe el siguiente cdigo y luego analice, qu


es lo que tendra que mejorarse para optimizar su funcionamiento:
Try
actualizar = File.AppendText(OpenFileDialog1.FileName)
actualizar.WriteLine(TextBox1.Text)
actualizar.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try

8. Guarde su aplicacin y luego ejecute y haga las pruebas correspondientes. Luego observe
los resultados y trate a futuro de optimizar este cdigo.

RECOMENDACIONES:
Las tareas de Entrada y Salida de datos no se limitan solamente a la apertura de archivos de texto
y su correspondiente escritura. Para mayor informacin acerca de operaciones comunes en E/S de
datos, siga el siguiente link:
http://msdn.microsoft.com/es-es/library/ms404278(v=VS.90).aspx

PRCTICA SUGERIDA:
Crear una aplicacin sencilla que utilice las capacidades de lectura y escritura de archivos de texto,
con caractersticas similares al Bloc de Notas de Windows, (incluir diseo de interfaz con barras de
herramientas y mens).

Instructor: Jorge Luis Vizcarra Crdenas

También podría gustarte