๐Ÿš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: chile.comp.programacion
2 messages
2 total messages Started by Pintamono Wed, 16 Apr 2008 20:09
Eliminacion de Archivos C#
#632
Author: Pintamono
Date: Wed, 16 Apr 2008 20:09
50 lines
2485 bytes
Tengo un problema con la eliminacion de archivos en un directorio 
especifico.

Lo hago de la siguiente manera:

private static void EliminaProcesados() {
int i;
string[] strArrFiles;
string[] strArrDirectory;

strArrFiles=Directory.GetFiles(PathDirectorioProcesados);

strArrDirectory=Directory.GetDirectories(PathDirectorioProcesados);

if(strArrFiles.Length !=0 ||strArrDirectory.Length !=0) {
  try {
  if(strArrFiles.Length !=0) {
   for(i = 0; i <= strArrFiles.GetUpperBound(0); i++) { 
    FileInfo InfoFile = new FileInfo(strArrFiles[i]);
     DirectoryInfo InfoDir = new DirectoryInfo(PathDirectorioProcesados);
     if (InfoDir.Name=="Procesados") {
      if (InfoFile.Extension.ToLower()==".txt") {
        if (File.Exists(PathDirectorio+"\\"+InfoFile.Name))
     File.Delete(PathDirectorio+"\\"+InfoFile.Name);
        }
      }
     }
   }
  }
catch(Exception e) {
   throw new Exception("Error con el archivo "+e.Message);}
  }
}

El problema que siempre me arroja es este error: "The process cannot 
access the file [Ruta de mi Archivo] because it is being used by another 
process"

Una de las cosas que me di cuenta es que ocurre solo con el ultimo 
archivo del directorio ya que los primeros los mueve sin problemas.

Esta malo mi proceso de eliminacion o me falta algo por hacer?

Gracias.

PD:
PathDirectorioProcesados es la ruta de un directorio en done se 
encuentran los archivos que ya procese
PathDirectorio es la ruta en donde se encuentran los avisos procesados y 
sin procesar.
Re: Eliminacion de Archivos C#
#634
Author: Pintamono
Date: Wed, 16 Apr 2008 20:58
60 lines
2957 bytes
Pintamono escribi๏ฟฝ:
> Tengo un problema con la eliminacion de archivos en un directorio 
> especifico.
> 
> Lo hago de la siguiente manera:
> 
> private static void EliminaProcesados() {
> int i;
> string[] strArrFiles;
> string[] strArrDirectory;
> 
> strArrFiles=Directory.GetFiles(PathDirectorioProcesados);
> 
> strArrDirectory=Directory.GetDirectories(PathDirectorioProcesados);
> 
> if(strArrFiles.Length !=0 ||strArrDirectory.Length !=0) {
>  try {
>  if(strArrFiles.Length !=0) {
>   for(i = 0; i <= strArrFiles.GetUpperBound(0); i++) {    FileInfo 
> InfoFile = new FileInfo(strArrFiles[i]);
>     DirectoryInfo InfoDir = new DirectoryInfo(PathDirectorioProcesados);
>     if (InfoDir.Name=="Procesados") {
>      if (InfoFile.Extension.ToLower()==".txt") {
>        if (File.Exists(PathDirectorio+"\\"+InfoFile.Name))
>     File.Delete(PathDirectorio+"\\"+InfoFile.Name);
>        }
>      }
>     }
>   }
>  }
> catch(Exception e) {
>   throw new Exception("Error con el archivo "+e.Message);}
>  }
> }
> 
> El problema que siempre me arroja es este error: "The process cannot 
> access the file [Ruta de mi Archivo] because it is being used by another 
> process"
> 
> Una de las cosas que me di cuenta es que ocurre solo con el ultimo 
> archivo del directorio ya que los primeros los mueve sin problemas.
> 
> Esta malo mi proceso de eliminacion o me falta algo por hacer?
> 
> Gracias.
> 
> PD:
> PathDirectorioProcesados es la ruta de un directorio en done se 
> encuentran los archivos que ya procese
> PathDirectorio es la ruta en donde se encuentran los avisos procesados y 
> sin procesar.

Ya solucione el tema, era porque no cerraba el proceso de lectura del 
archivo...

en algun lugar tenia un StreamReader y no lo cerraba.

eso era todo.

gracias de todas maneras.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads