Předvánoční slevová akce PHP týden
Pouze tento týden sleva až 80 % na PHP e-learning!
Využij předvánočních slev a získej od nás 20 % bodů zdarma! Více zde

Diskuze: c# - vynuceně přepsat text v souboru, který je používán jiným procesem

Aktivity (4)
Avatar
Adam Black
Člen
Avatar
Adam Black:25. července 22:55

Ahoj,
Snažím se přepsat text v souboru, který je ve stejnou chvíli použivaný jiným procesem.

Zkusil jsem: Už jsem zkoušel snad vše v System.IO, ale vím, že pomocí aplikace Notepad++ to upravit jde, ale já to potřebuji mít v aplikaci.

Podařilo se mi udělat alespoň čtení, díky kopirování souboru, který potom mohu číst. Ale já potřebuju i zápis.

Jak na to?

 
Odpovědět
25. července 22:55
Avatar
Patrik Valkovič
Šéfredaktor
Avatar
Odpovídá na Adam Black
Patrik Valkovič:26. července 0:36

Ahoj,
pokud je soubor držen jiným procesem, zápis do něj není možný. Můžeš jej nakopírovat a změny zapsat do jeho kopie, ale soubor jinému procesu nevytrhneš.
Možná by jsi se mohl zmínit, o jaké platformě mluvíš. Například pod Windows můžeš otevřít soubor s flagem FILE_SHARE_WRITE, ale pokud to tak druhá aplikace neudělá a nemáš k ní přístup, potom ti zápis stejně neumožní.
Trochu prasáčtější přístup je pravidelně kontrolovat, zda se už soubor uvolnil a poté zapsat změny. Nějak by snad i mělo jít zjistit, který proces soubor drží a teoreticky ho zabít, ale to není moc hezké řešení.

Mohl by jsi blíže přiblížit, čeho se snažíš dosáhnout?

Nahoru Odpovědět
26. července 0:36
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Adam Black
Člen
Avatar
Adam Black:26. července 12:55

Tak nakonec budu zavírat Handle souboru. https://www.codeproject.com/…g-Used-Files

 
Nahoru Odpovědět
26. července 12:55
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.