Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno uvolnění souboru v C#

Dobrý den.

Řekněme, že tímto vytvořím něaký soubor na disku:

File.Create(file_name);

no a pokus bych následně chtěl s již vytvořeným souborem pracovat (třeba ho přesunout):

File.Move(file_name, path + file_name

, tak to vždycky vypíše "The process cannot access the file because it is being used by another process."...což znamená, že soubor je již používán jiným procesem. Tak se chci zeptat, jen jakoby "uvolnit" ten soubor, aby již nebyl využívaný?

Děkuju za případnou odpověď.

Předmět Autor Datum
File.Close; tam neni?
Jan Fiala 14.06.2008 17:53
Jan Fiala
Přesně tak. file_name.Close();
Flash_Gordon 14.06.2008 18:32
Flash_Gordon
No právě že není. Zkoušel jsem: File.Close(file_name); pak toto: file_name.Close(); a pokaždé t…
gg11g 14.06.2008 19:23
gg11g
Nicméně tady v tom příkladu, jak to funguje "uvolňuju" až "nadstavbu" FileStreamu...takže to je jiný…
gg11g 14.06.2008 19:27
gg11g
Ale je. a = File.Create(file_name); a.Close(); poslední
Wikan 15.06.2008 18:24
Wikan
Metóda File.Create vráti FileStream, ktorý kým nezavrieš, tak je vytvorený súbor používaný tvojím pr…
los 14.06.2008 19:44
los
Díky vyzkouším. Len trochu nechápem, načo je dobré vytvárať prázdny súbor. Celkem k ničemu, ale za…
gg11g 14.06.2008 20:20
gg11g
Len trochu nechápem, načo je dobré vytvárať prázdny súbor. To je přece jasné. Aby do něj mohl v bud…
MaSo 14.06.2008 20:21
MaSo
no vidiš..třeba:-D Jinak to už funguje, děkuju všem co odpověděli. Mějte se.
gg11g 14.06.2008 20:26
gg11g

No právě že není.

Zkoušel jsem:

File.Close(file_name);

pak toto:

file_name.Close();

a pokaždé to hlásí chybu. Když ale vyzkoušíme:

FileStream fs = new FileStream(file_name, blablabla);             
             StreamWriter sw = new StreamWriter(fs);
             //zapsání so souboru            
             sw.Close();

Tak tohle funguje.

Nicméně tady v tom příkladu, jak to funguje "uvolňuju" až "nadstavbu" FileStreamu...takže to je jiný. Ale já bych to zrovna chtěl v tom prvním případě...navíc nechci zapisovat, ale jen vytvářet + dál s tím souborem pracovat.

Metóda File.Create vráti FileStream, ktorý kým nezavrieš, tak je vytvorený súbor používaný tvojím procesom. Takže by si to mal spraviť nejako takto:

File.Create(...).Close();

Len trochu nechápem, načo je dobré vytvárať prázdny súbor.

Zpět do poradny Odpovědět na původní otázku Nahoru