utilizado uso siendo saber puede proceso porque por otro ocupado obtener net liberar está esta archivo acceso abierto c# file-io

c# - uso - saber si un archivo esta abierto vb net



Archivo utilizado por otro proceso (6)

Esta pregunta ya tiene una respuesta aquí:

Muchas veces obtenemos un error al intentar escribir un archivo en la plataforma Windows,

"El proceso no puede acceder al archivo ''XXX'' porque lo está utilizando otro proceso".

¿Cómo registrar C #, antes de escribir en el archivo que no está siendo utilizado por otro proceso?


Intente poner el comando abierto en una declaración try-catch. Si el archivo se está utilizando, se lanzará IOException.


No puedes, básicamente, tienes que intentar abrir el archivo para escribir, y si obtienes una excepción no puedes escribir en ella :(

Incluso si pudieras hacer un cheque por separado primero, el resultado no estaría actualizado antes de que pudieras comenzar a escribir; aún podrías terminar con la excepción más adelante.

Sería bueno si el marco proporcionara un método TryOpen , sin TryOpen ...


Intente cambiar el nombre del archivo si puede cambiar el nombre y, a continuación, confirme que ningún otro proceso está accediendo a ese archivo. Finalmente, asegúrese de haber cambiado el nombre del mismo archivo en la misma carpeta.


Debe close su archivo después de usarlo en su código:

FileStream file = new FileStream(fileName, FileMode.Open, FileAccess.Read); //file is opened //you use the file here file.Close(); //then you must to close the file



Simplemente tiene que probar abrir con el acceso compartido que desea, y manejar el error que se produce.

Nota: A veces, el archivo no se abrirá simplemente porque los derechos de uso compartido de archivos que ha especificado entran en conflicto con los derechos de uso compartido de archivos con los que alguien ya abrió el archivo.

Por favor, mira mi respuesta aquí para más información .