Mega Code Archive

 
Categories / C# / File Stream
 

Get File Access Control

using System; using System.IO; using System.Security.AccessControl; class MainClass {     static void Main(string[] args) {         FileStream stream;         string fileName;         fileName = Path.GetRandomFileName();         using (stream = new FileStream(fileName, FileMode.Create)) {             // Do something.         }         SetRule(fileName, "Everyone", FileSystemRights.Read, AccessControlType.Deny);         try {             stream = new FileStream(fileName, FileMode.Create);         } catch (Exception ex) {             Console.WriteLine(ex.ToString());         } finally {             stream.Close();             stream.Dispose();         }     }     static void AddRule(string filePath, string account, FileSystemRights rights, AccessControlType controlType) {         FileSecurity fSecurity = File.GetAccessControl(filePath);         fSecurity.AddAccessRule(new FileSystemAccessRule(account, rights, controlType));         File.SetAccessControl(filePath, fSecurity);     }     static void SetRule(string filePath, string account, FileSystemRights rights, AccessControlType controlType) {         FileSecurity fSecurity = File.GetAccessControl(filePath);         fSecurity.ResetAccessRule(new FileSystemAccessRule(account, rights, controlType));         File.SetAccessControl(filePath, fSecurity);     } }