Autor Beitrag
Spot
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 14.06.07 09:55 
Hallo zusammen der Spot mal wieder ;-)

Folgendes ist gegeben:
starte mein Program und überprüfe ob eine Datei vorhanden ist,
sollte dies nicht der Fall sein soll ein neuer Ordner und die
Datei erzeugt werden.
ausblenden C#-Quelltext
1:
2:
Directory.CreateDirectory("Pfad");
File.Create("Pfad");

Funktioniert soweit auch alles wunderbar, erzeugt den Ordner und
die Datei.
So beim beenden möchte ich dann auf die oben erzeugt Datei zugreifen
und drin schreiben.
Dabei kommt es dann zu einem Fehler, das auf die Datei nicht zugegriffen
werden kann, da ein anderer Prozess die Datei noch verwendet.

Meine Vermutung war jetzt das
ausblenden C#-Quelltext
1:
File.Create("Pfad");					

noch auf die Datei verweist bzw. wie die Exception es ausgibt noch verwendet.

Daher meine Frage jetzt gibt es da eine Möglichkeit diesen Zugriff von
ausblenden C#-Quelltext
1:
File.Create("Pfad");					

auf die Datei zu "beenden"???

Danke für eure Hilfe ...

Gruß Spot
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Do 14.06.07 10:12 
Create gibt ein Objekt vom Typ FileStream zurück, die Datei bleibt geöffnet, wie Du schon richtig vermutet hast. Zwei Möglichkeiten hast Du nun, wobei ich die zweite nehmen würde ;):
  1. Du schließt die Datei wieder, indem Du direkt Close aufrufst, z.B. so File.Create(dateiname).Close().
  2. Oder Du nimmst eine globale Variable her, mit der Du den FileStream offen hältst und am Ende direkt verwendest.
Spot Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 14.06.07 11:43 
werd ich dann gleich mal ausprobieren ...

Danke für die schnelle Hilfe!

Gruß Spot