Csharp/CSharp Tutorial/File Directory Stream/File Attribute
FileAttributes enumeration
<source lang="csharp">using System; using System.Windows.Forms; using System.IO; class MainClass {
public static void DecipherAttributes(FileAttributes f) { if ((f & FileAttributes.Archive) == FileAttributes.Archive) Console.WriteLine("Archive"); if ((f & FileAttributes.rupressed) == FileAttributes.rupressed) Console.WriteLine("Compressed"); if ((f & FileAttributes.Device) == FileAttributes.Device) Console.WriteLine("Device"); if ((f & FileAttributes.Directory) == FileAttributes.Directory) Console.WriteLine("Directory"); if ((f & FileAttributes.Encrypted) == FileAttributes.Encrypted) Console.WriteLine("Encrypted"); if ((f & FileAttributes.Hidden) == FileAttributes.Hidden) Console.WriteLine("Hidden"); if ((f & FileAttributes.NotContentIndexed) == FileAttributes.NotContentIndexed) Console.WriteLine("NotContentIndexed"); if ((f & FileAttributes.Offline) == FileAttributes.Offline) Console.WriteLine("Offline"); if ((f & FileAttributes.ReadOnly) == FileAttributes.ReadOnly) Console.WriteLine("ReadOnly"); if ((f & FileAttributes.ReparsePoint) == FileAttributes.ReparsePoint) Console.WriteLine("ReparsePoint"); if ((f & FileAttributes.SparseFile) == FileAttributes.SparseFile) Console.WriteLine("SparseFile"); if ((f & FileAttributes.System) == FileAttributes.System) Console.WriteLine("System"); if ((f & FileAttributes.Temporary) == FileAttributes.Temporary) Console.WriteLine("Temporary"); } public static void Main() { OpenFileDialog dlgOpen = new OpenFileDialog(); if (dlgOpen.ShowDialog() == DialogResult.OK) { FileAttributes f = File.GetAttributes(dlgOpen.FileName); Console.WriteLine("Filename " + dlgOpen.FileName + " has attributes:"); DecipherAttributes(f); } }
}</source>
FileAttributes.ReadOnly
<source lang="csharp">using System; using System.IO; static class MainClass {
static void Main() { FileInfo file = new FileInfo("data.txt"); Console.WriteLine(file.Attributes.ToString()); // This test fails, because other attributes are set. if (file.Attributes == FileAttributes.ReadOnly) { Console.WriteLine("File is read-only (faulty test)."); } if ((file.Attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly) { Console.WriteLine("File is read-only (correct test)."); } }
}</source>
Archive, NotContentIndexed