Visual Basic.NET - Facil para los que saben, leer archivos y algo mas

   
Vista:

Facil para los que saben, leer archivos y algo mas

Publicado por Rodri (17 intervenciones) el 27/12/2007 21:58:37
La plicacion esta en Visual Basic 2005 expres
Debe Crear un archivo de texto, si no existe, y agregarle una linea, (esta parte funciona bien),
Si existe el archivo, buscar si la linea ya esta escrita (aca esta el error que muestro mas abajo)
si no encuentra la linea, se la agrego
y si la encuentra no hago nada

Dim Contenido As String

If File.Exists("C:archivo.txt") Then

'abro el archivo y guardo el texto en la variable Contenido
Dim objLector As StreamReader = File.OpenText("C:archivo.txt")
Contenido = objLector.ReadToEnd()
FileClose()
objLector.Close()

'si no encuentra la linea
If Archivo.LastIndexOf("Linea de texto 1") = -1 Then

'abro el archivo y escrivo la linea
Dim escribir As StreamWriter = File.AppendText("C:archivo.txt")
escribir.WriteLine(vbNewLine & "Linea de texto 1")
FileClose()
escribir.Flush()

'si se encuentra la linea no hago nada
End If
Else
'si no existe, creo el archivo y le agrego esa linea (esto funciona bien)
Dim oSW As New StreamWriter("C:archivo.txt")
oSW.WriteLine("Linea de texto 1")
FileClose()
oSW.Flush()
End If

El problema es cuando el archivo existe:
el mensaje de error es:

No se controlo IOexepcion
El proceso no puede obtener acceso al archivo 'C:archivo.txt' porque está siendo utilizado en otro proceso.

Por favor que estoy clavado con este error
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Facil para los que saben, leer archivos y algo

Publicado por P. J. (706 intervenciones) el 28/12/2007 16:01:19
...
Abri mi visual, pegue tu codigo, me boto un error aca:

Archivo.LastIndexOf("Linea de texto 1") = -1

lo cambie por

Contenido.LastIndexOf("Linea de texto 1") = -1

le di F5, creo el archivo, luego de nuevo para ver el posible error cuando existe el archivo y normal.

No me ocasiono el error que mencionaste. Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ya esta

Publicado por Rodri (17 intervenciones) el 29/12/2007 17:54:59
El problema lo solucione metiendo un try cach cada ves que abro y cierro un archivo (eso lo hice por dudas)
Pero lo mas importante era cerrar cada archivo, yo ponia FileClose() cuando tenia que poner "variable.Close()"

Problema resuelto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar