Jak sprawdzić, czy uprawnienia do zapisu w katalogu lub pliku?
Mam program, który zapisuje niektóre dane do pliku za pomocą metody podobnej do tej poniżej.
public void ExportToFile(string filename)
{
using(FileStream fstream = new FileStream(filename,FileMode.Create))
using (TextWriter writer = new StreamWriter(fstream))
{
// try catch block for write permissions
writer.WriteLine(text);
}
}
Podczas uruchamiania programu pojawia się błąd:
Nieobsługiwany wyjątek: System.UnauthorizedAccessException: odmowa dostępu do ścieżki „mypath”. w System.IO .__ Error.WinIOError (Kod błędu Int32, String maybeFullPath) w System.IO.FileStream.Init (ścieżka String, tryb FileMode, dostęp do FileAccess, prawa nt32, Boolean useRights, udział FileShare, Int32 bufferSize, FileOptions ptions, SECURITY_ATTRIBUTES secAttrs , String msgPath, Boolean bFromProxy) w System.IO.FileStream..ctor (ścieżka String, tryb FileMode, dostęp FileAccess FileShare, Int32 bufferSize, opcje FileOptions, String msgPath, Boolea bFromProxy)
Pytanie: Jaki kod muszę złapać i jak mogę udzielić dostępu?