Foros del Web » Programación para mayores de 30 ;) » .NET »

error: un proceso ya ocupa dicho archivo. cmo lo soluciono?

Estas en el tema de error: un proceso ya ocupa dicho archivo. cmo lo soluciono? en el foro de .NET en Foros del Web. hola a todos, tengon un problema al leer archivos txt, el tema es que no logro dar con la solucion a mi problema: estoy intentando ...
  #1 (permalink)  
Antiguo 03/11/2014, 15:07
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 14 años, 5 meses
Puntos: 6
Pregunta error: un proceso ya ocupa dicho archivo. cmo lo soluciono?

hola a todos, tengon un problema al leer archivos txt,
el tema es que no logro dar con la solucion a mi problema:

estoy intentando recorrer las filas o lineas de un archivo .txt y el tema es que necesito instanciar dos veces mi "path", en donde me arroja error que ya un proceso esta ocupando mi "archivo.txt" (al iniciar el StreamReader) y luego ocupar el File.Delete(path)... no sé como darle solución a esto...

path = "archivo.txt"
Código C++:
Ver original
  1. string path = "archivo.txt"
  2.                 using (StreamReader reader = new StreamReader(path))
  3.                 {
  4.                    
  5.                     line = reader.ReadLine();      
  6.                     while (line != null)
  7.                     {
  8.                          
  9.                                                     string[] contenidoActual = File.ReadAllLines(path);
  10.                                                     File.Delete(path);
  11.                                                     if (contenidoActual.Length > 1)
  12.                                                         using (StreamWriter writer = File.CreateText(path))
  13.                                                         {
  14.                                                             for (int u = 1; u < contenidoActual.Length; u++)
  15.                                                             {
  16.                                                                 writer.WriteLine(contenidoActual[u]);
  17.                                                             }
  18.                                                         }
  19.                       line = reader.ReadLine();        
  20.                      }

cualquier idea es bien recibida, muchas gracias por su tiempo
Estaré atento a sus respuestas!,
Saludos!
  #2 (permalink)  
Antiguo 05/11/2014, 11:38
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: error: un proceso ya ocupa dicho archivo. cmo lo soluciono?

Buenas,

Estás liándote un poco me parece. Estas intentando leer un fichero línea a línea y luego lo lees de golpe a la vez, no tiene sentido. Luego intentas escribir lo mismos datos en el mismo fichero, ¿cúal es propósito de esto?

Como no sé que quieres hacer te digo varias cosas:
1. Al usar using (...) el fichero queda abierto hasta el final de éste, por eso no puedes borrar el fichero.
2. No tiene sentido usar reader.ReadLine() para leer una línea y luego usar File.ReadAllLines que lee todas las línea del fichero de golpe.

Mira bien que es lo que quieres hacer y si no consigues que funcione, nos explicas que es lo que estás intentado.

Un saludo.

Etiquetas: ocupa, proceso
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:14.