9 Eylül 2020 Çarşamba

DirectoryInfo Sınıfı

Constructor
Şöyle yaparız.
string path = ...;
var di = new DirectoryInfo(path);
Attributes Alanı
Şöyle yaparız.
if ((di.Attributes & FileAttributes.Hidden)){...}
GetAccessControl
Şöyle yaparız.
DirectorySecurity dirSecurity = di.GetAccessControl();
GetDirectories
Şöyle yaparız.
DirectoryInfo[] fileNames = di.GetDirectories();
GetFiles metodu
EnumerateFiles metodunun aksine tüm dosyaları bir seferde dizi olarak döndürür.
Örnek
Şöyle yaparız.
FileInfo[] allFiles = di.GetFiles();
foreach (var file in allFiles)
{
  string sourceFile = Path.Combine(sPath, file.ToString());
  File.Copy(...);
}
Örnek
Şöyle yaparız
var files = new DirectoryInfo(@"path")
               .GetFiles()
               .OrderBy(p => p.LastWriteTimeUtc)
               .ToList();

foreach (var f in files)
{
  //do some processing
  Console.WriteLine(f.Name);

  f.Delete();
}
GetFiles metodu - string
Alt dizinlere bakmayan ve uzantıya göre süzmek için şöyle yaparız.
FileInfo[] smFiles = di.GetFiles("*.txt");
Linq ile kullanmak için şöyle yaparız.
List<string> fileNames = di.GetFiles("*.*")
  .Where(f => f.Name.EndsWith(".png") || f.Name.EndsWith(".jpg"))
  .OrderBy(f => f.Extension)
  .ThenBy(f => f.Name)
  .Select(f => f.Name).ToList();
EnumerateFiles metodu
Linq kullanabilmemizi sağlar. Şöyle yaparız.
var files = from f in di.EnumerateFiles()
       where f.CreationTimeUtc < EndDate && f.CreationTimeUtc > StartDate
       select f;
FullName Alanı
Şöyle yaparız.
var di = new DirectoryInfo(...);
foreach (var fi in di.EnumerateFiles())
{
  if (fi.Name.EndsWith(".txt"))
  {
    var name = fi.FullName.Substring(0, fi.FullName.Length - 3);
    File.Move(fi.FullName, name);
  }
}
Name Alanı
Nesnenin ismini verir.
DirectoryInfo subDirectory = ...;
subDirectories.Name;



Hiç yorum yok:

Yorum Gönder