Error al guardar y abrir un txt en unos listbox

Iniciado por cael1011, 25 Septiembre 2016, 06:14 AM

0 Miembros y 1 Visitante están viendo este tema.

cael1011

Lo que pretendo hacer es lo siguiente ya tengo un listbox con los datos, deseo al ejecutar los datos de listbox1 que escribí de forma manual, al ejecutar el programa.

1 se guarden en un txt

2 desde luego aqui es donde tengo el problema de cerrar el txt para volver abrirlo, me aparece el error en un dialogo (El proceso no puede obtener acceso al archivo 'E:\12.txt' por que esta siendo utilizado en otro proceso.)

3 cargar los datos que se guardaron en el txt  cargalos en un listbox2

no entiendo mucho los códigos.



End Class
Código (vbnet) [Seleccionar]

Imports System.IO

Public Class Form1

  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   
        Dim oSW As New StreamWriter("D:\12.txt")
        Dim i As Integer
        For i = 0 To ListBox1.Items.Count - 1
            Dim Linea = ListBox1.Items(i).ToString() 
            oSW.WriteLine(Linea)
            oSW.Flush()

        Next


        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CARGAR TXT
        Dim Archivo As System.IO.FileInfo = New FileInfo("D:\12.txt")
        Me.ListBox2.Items.Clear()
        Try
            Dim abrir As StreamReader = Archivo.OpenText
            Dim linea As String
            Do While abrir.Peek() > 0
                linea = abrir.ReadLine()
                Me.ListBox1.Items.Add(linea)
            Loop
            abrir.Close()
        Catch ex As SystemException
            MsgBox(ex.Message, MsgBoxStyle.OkOnly, "ERROR")
        End Try
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    End Sub







Eleкtro

Cita de: cael1011 en 25 Septiembre 2016, 06:14 AMaqui es donde tengo el problema de cerrar el txt para volver abrirlo, me aparece el error en un dialogo (El proceso no puede obtener acceso al archivo 'E:\12.txt' por que esta siendo utilizado en otro proceso.)

Cuando termines de manipular el archivo debes cerrar el stream llamando al método StreamWriter.Close()/StreamWriter.Dispose():

Código (vbnet,6) [Seleccionar]
Dim oSW As New StreamWriter(...)
For ...
   oSW.WriteLine(...)
   ...
Next
oSW.Close()


Saludos