Zmiana parametrów dostępu do pliku

0

Witam.
Napisałem aplikację szyfrującą pliki txt. Poza zaszyfrowaniem, uniemożliwiam dostęp do wygenerowanego pliku:

SecurityIdentifier sid = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
FileSecurity security = File.GetAccessControl(file_name);
security.ResetAccessRule(new FileSystemAccessRule(sid, FileSystemRights.Read, AccessControlType.Deny));
File.SetAccessControl(file_name, security);

I do tej chwili wszystko ładnie działa. Napisałem drugi program, który ma deszyfrować zaszyfrowany plik. Muszę więc uzyskać dostęp do zaszyfrowanego pliku:
<code class="c#">
                SecurityIdentifier sid = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
                FileSecurity security = File.GetAccessControl(file_name);
                security.ResetAccessRule(new FileSystemAccessRule(sid,FileSystemRights.FullControl,AccessControlType.Allow));
                File.SetAccessControl(file_name, security);

Niestety program wywala mi błąd:
An unhandled exception of type 'System.IO.IOException' occurred in mscorlib.dll

Additional information: The process cannot access the file 'c:\Users\Admin\Documents\Visual Studio 2010\Projects\Szyfrowanie\bin\Debug\nic.txt' because it is being used by another process.

Mimo to parametry dostępu się zmieniają (mogę plik otworzyć). Dlaczego więc wyskakuje mi błąd? Co powinienem zrobić aby program działał poprawnie?

0

A zwalniasz w ogóle plik przed ponownym otwarciem?

0

No i właśnie to przeoczyłem.
Dzięki wielkie;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1