2009-02-17 14 views

Respuesta

10

No, File.Exist() solo comprueba que el archivo en cuestión se encuentre en el sistema de archivos en la ruta especificada. No tiene acceso a los datos del archivo ni a los encabezados de todos modos, por lo que no bloqueará el archivo.

En una nota lateral, incluso abrir un archivo no necesariamente lo bloqueará. Depende de los parámetros de acceso que elijas al abrir.

3

No, File.Exist no bloquea el archivo. Sin embargo, una buena forma de ver lo que ocurre bajo las sábanas es mirar a través del source code.

Extraiga el código fuente de las bibliotecas de la clase base de .Net Framework y observe lo que ocurre detrás de las escenas. La clase System.IO.File, en particular, tiene algunas selecciones predeterminadas muy interesantes para el manejo de archivos, bloqueo, liberación, etc. En instancias como la suya, ver la fuente de lo que sucede detrás de las escenas puede marcar la diferencia en términos de cómo usted diseña su aplicación

por el enlace:

¿Qué puedo hacer con el Código Compartido CLI? Existe una gran cantidad de tecnología de lenguaje de programación en la CLI de fuente compartida. Es probable que sea de interés para una amplia audiencia, incluyendo:

  • Los desarrolladores interesados ​​en el funcionamiento interno de .NET Framework puede explorar esta implementación de la CLI para ver cómo funciona la recolección de basura, la compilación JIT y verificación se manejado, protocolos de seguridad implementados, y la organización de marcos y sistemas de objetos virtuales.
  • Profesores e investigadores que trabajan con tecnología avanzada de compilación. Los proyectos de investigación en extensiones de lenguaje, optimizaciones de JIT y recolección de basura moderna tienen una base en la CLI de fuente compartida. Los cursos modernos de compilación pueden basarse en los lenguajes C# o JScript implementados en la CLI.
  • Las personas que desarrollan sus propias implementaciones de CLI encontrarán que la CLI de fuente compartida es una guía indispensable y adjunta a los estándares de ECMA.
1

Esta es una respuesta para anu, y cualquiera que haga algo similar con los archivos.

Es bastante vital para acceder a los archivos con una instrucción de uso. Esto garantiza que elimine adecuadamente su referencia al archivo.

using (var fs = File.OpenRead(path)) { 
    // Do something 
} 
Cuestiones relacionadas