2009-02-17 3 views

Antwort

10

Nein, File.Exist() überprüft nur, ob sich die fragliche Datei im angegebenen Pfad im Dateisystem befindet. Es greift in keinem Fall auf die Dateidaten oder Header zu, sodass die Datei nicht gesperrt wird.

Eine Randnotiz, sogar das Öffnen einer Datei wird es nicht unbedingt sperren. Dies hängt von den Zugriffsparametern ab, die Sie beim Öffnen auswählen.

3

Nein, File.Exist sperrt die Datei nicht. Eine gute Möglichkeit zu sehen, was unter der Decke passiert, ist jedoch durch die source code zu sehen.

Ziehen Sie den Quellcode für die .Net Framework-Basisklassenbibliotheken herunter und sehen Sie sich an, was hinter den Kulissen passiert. Insbesondere die System.IO.File-Klasse bietet einige sehr interessante Standardeinstellungen für Dateibearbeitung, Sperren, Freigeben usw. In Fällen wie der Ihren kann es sehr hilfreich sein, die Quelle dessen zu sehen, was sich hinter den Kulissen abspielt Sie gestalten Ihre Anwendung.

Per Link:

Was kann ich mit der Shared Source CLI tun? Es gibt eine Fülle von Programmiersprachen-Technologie in der Shared Source CLI. Es ist wahrscheinlich von Interesse für ein breites Publikum zu sein, darunter:

  • Entwickler interessieren sich für die internen Abläufe des .NET Framework diese Implementierung der CLI erkunden, um zu sehen, wie Garbage Collection funktioniert, JIT-Kompilierung und Verifikation behandelt, Sicherheitsprotokolle implementiert und die Organisation von Frameworks und virtuellen Objektsystemen.
  • Lehrer und Forscher arbeiten mit fortgeschrittener Compiler-Technologie. Forschungsprojekte zu Spracherweiterungen, JIT-Optimierungen und moderner Garbage Collection basieren alle auf der Shared Source CLI. Moderne Compiler-Kurse können auf den am CLI implementierten C# - oder JScript-Sprachen basieren.
  • Menschen, die ihre eigenen CLI-Implementierungen entwickeln, werden die Shared Source CLI als unverzichtbaren Leitfaden und Ergänzung zu den ECMA-Standards finden.
1

Dies ist eine Antwort auf anu - und jemand, der etwas Ähnliches mit Dateien macht.

Es ist ziemlich wichtig, auf Dateien mit einer using-Anweisung zuzugreifen. Dies stellt sicher, dass Sie Ihren Verweis auf die Datei ordnungsgemäß entsorgen.

using (var fs = File.OpenRead(path)) { 
    // Do something 
} 
Verwandte Themen