BF Summer sales
Pouze tento týden sleva až 80 % na HTML & CSS a JavaScript
80 % bodů zdarma na online výuku díky naší Letní akci!

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.7.2019 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.7.2019 22:55
Avatar
Odpovídá na Adam Black
Patrik Valkovič:26.7.2019 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.7.2019 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.7.2019 12:55

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

 
Nahoru Odpovědět
26.7.2019 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.