Hola compañeros de solocodigo
En esta ocasión me gustaria que alguien me explicará el porque del siguiente error, lo solucioné pero aun no se la explicación.
Lo que quiero hacer es escribir unos lineas de texto en un archivo de txt, esto se hace asi:
Imports System
Imports System.IO
Module Module1
Sub Main()
Dim FS As FileStream
Dim SW As StreamWriter
Dim STR As String
Try
'crear un flujo hacie el ficher txt
FS = New FileStream("d:doc.txt", FileMode.Append, FileAccess.Write)
SW = New StreamWriter(FS)
Console.WriteLine("Escriba una linea y pulse enter, para terminar solo pulse enter")
STR = Console.ReadLine
While STR <> Nothing
'escribe la linea en el fichero
SW.WriteLine(STR)
'siguiente linea
STR = Console.ReadLine
End While
Catch ex As IOException
Console.WriteLine("Error : " & ex.Message)
Finally
If (Not SW Is Nothing) Then SW.Close()
End Try
End Sub
End Module
el codigo anterior funciona bien, ahora miren el siguiente codigo:
Imports System
Imports System.IO
Module Module1
Sub Main()
Dim FS As FileStream
Dim SW As StreamWriter
Dim STR As String
Try
'crear un flujo hacie el ficher txt
FS = New FileStream("d:doc.txt", FileMode.Append, FileAccess.Write)
SW = New StreamWriter(FS)
Console.WriteLine("Escriba una linea y pulse enter, para terminar solo pulse enter")
STR = Console.ReadLine
While STR <> Nothing
'escribe la linea en el fichero
SW.WriteLine(STR)
'siguiente linea
STR = Console.ReadLine
End While
Catch ex As IOException
Console.WriteLine("Error : " & ex.Message)
'Finally <== suprimida
' If (Not SW Is Nothing) Then SW.Close() <== y esta tambien la quite
End Try
End Sub
End Module
quite dos lineas que sirven para cerrar el flujo de la clase streamwriter, se supone que el VB debe cerrar este flujo en caso de que yo no lo haga, pero tal parece que no y como resultado, las lineas de texto no se escriben.
¿Hay alguna explicación del porque sucede esto?saludos.