02. juni 2005 - 14:17
Der er
7 kommentarer og 1 løsning
The process cannot access the file
Jeg prøver at skrive til en fil, men får følgende Exception: The process cannot access the file "C:\temp\test.html" because it is being used by another process. Forløbet er som følgende: Første gang jeg skriver, går alt fint. Næste gang, smider den ovenstående Exception. Det kunne så se ud somom jeg ikke får lukket filen, men det mener jeg dog jeg gør. Kode: FileStream output = new FileStream(fileName, FileMode.Open); output.Write(buffer, 0, buffer.Length); output.Close(); Nogen der kan give et svar?
Annonceindlæg fra HP
Prøv: using (FileStream output = new FileStream(fileName, FileMode.Open)) { output.Write(buffer, 0, buffer.Length); output.Close(); } Det kunne tyde på, at output holder på filen.
Første gang kører det fint Anden gang bliver der ikke smidt Exceptions, men filens størrelse ender på 0 bytes. Hmm?
Jo det virker... Der skal bare gå ca. 2 min. før den tilgår filen igen. Forklar mig lige hvad using() { } er ?
Nææh, det virker fint nok, hvis man bare lader være at skrive til filen ca. 2 min efter applikationen er lukket :-) Der er til at leve med.
using (FileStream output = new FileStream(fileName, FileMode.Open)) { output.Write(buffer, 0, buffer.Length); output.Close(); } svarer til FileStream output = new FileStream(fileName, FileMode.Open); output.Write(buffer, 0, buffer.Length); output.Close(); output.Dispose(); Jeg tvivler meget på at det Dispose kald gør en forskel. Men lad mig gætte: filen ligger på et netværks drev !?
using er blot et compund statement hvor GC sørger for at objektet bliver smidt på finalize stack efter brug i dit compound statement. -DU undgår Dispose. Prøv evt: out.Close(); out = null; GC.Collect();
Nej, ikke på et netværksdrev.
Har du prøvet at ta' en filesystemwatcher på den? Du mangler måske nogen enums i ctor. Jeg mener den hedder FileAccess - jeg kan ikke huske om den har exclusive lock på.
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.