IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
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.
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.