/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy
Publisher: Sybex;
ISBN: 0782129110
*/
/*
Example15_4.cs illustrates the FileAttributes enumeration
*/
using System; using System.Windows.Forms; using System.IO;
public class Example15_4
{
// the DecipherAttributes method turns file attributes
// into something easier for people to read public static void DecipherAttributes(FileAttributes f)
{ if ((f & FileAttributes.Archive) == FileAttributes.Archive)
Console.WriteLine("Archive"); if ((f & FileAttributes.Compressed) == FileAttributes.Compressed)
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");
}
[STAThread] public static void Main()
{
// create and show an open file dialog
OpenFileDialog dlgOpen = new OpenFileDialog(); if (dlgOpen.ShowDialog() == DialogResult.OK)
{
// retrieve and show the file attributes
FileAttributes f = File.GetAttributes(dlgOpen.FileName);
Console.WriteLine("Filename " + dlgOpen.FileName +
" has attributes:");
DecipherAttributes(f);
}