The class I've posted shows how to use the fiel attributes with c#.
To get file attributes (in .Net) you need more steps, with this class you have immediatly all you need.
I covered the 4 standard attribute but you can extend the class with other attributes. The file is .called FileAttributeEx.cs and this it the code.
using System;
using System.IO;
namespace FileAttributeEx
{
 class FileAttributesEx
 {    
     private string filepath = string.Empty;
     public string FilePath
     {
         get { return filepath; }
         set { filepath = value;}
     }
     public FileAttributesEx() { }
     public FileAttributesEx(string path)
     {
         FilePath = path;
     }
 
     public bool isReadOnly ()
     {
         return (File.GetAttributes(FilePath) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly;
     }
     public bool isHidden()
     {
         return (File.GetAttributes(FilePath) & FileAttributes.Hidden) == FileAttributes.Hidden;
     }
         public bool isArchive()
     {
         return (File.GetAttributes(FilePath) & FileAttributes.Archive) == FileAttributes.Archive;
     }
     public bool isSystem()
     {
         return (File.GetAttributes(FilePath) & FileAttributes.System) == FileAttributes.System;
     }
     public void AddSystem()
     {
         File.SetAttributes(FilePath, File.GetAttributes(FilePath) | FileAttributes.System);
     }
     public void AddReadOnly()
     {
         File.SetAttributes(FilePath, File.GetAttributes(FilePath) | FileAttributes.ReadOnly);
     }
     public void AddHidden()
     {
         File.SetAttributes(FilePath, File.GetAttributes(FilePath) | FileAttributes.Hidden);
     }
     public void AddArchive()
     {
         File.SetAttributes(FilePath, File.GetAttributes(FilePath) | FileAttributes.Archive);
     }
     public void Clear()
     {
         File.SetAttributes(filepath, File.GetAttributes(filepath)
             & ~(FileAttributes.Archive | FileAttributes.ReadOnly| FileAttributes.System|FileAttributes.Hidden));
     }
 }
}
To use it in your project simply, add the file to your project, add a new instance of it and call the metods you need.
Here a sample:
FileAttributesEx fileAttr = new FileAttributesEx(sFileName);
if (fileAttr.isArchive())
    //Do something
 if (fileAttr.isHidden())
 //Do something
fileAttr.Clear();
fileAttr.AddReadOnly();
           
Have fun.
Iscriviti a:
Commenti sul post (Atom)


Nessun commento:
Posta un commento