FileAttributes
FileAttributes помечено [Flags].
Читают через File.GetAttributes,
меняют через File.SetAttributes.
Проверяют отдельный флаг через HasFlag:
Normal, ReadOnly,
Hidden, Directory,
Archive. Флаг Hidden
не гарантирует скрытие в проводнике ОС.
Синтаксис
FileAttributes attrs = File.GetAttributes(path);
bool readOnly = attrs.HasFlag(FileAttributes.ReadOnly);
Пример
Давайте поставим ReadOnly на
abcde.txt:
using System;
using System.IO;
class Program
{
static void Main()
{
File.WriteAllText("abcde.txt", "abcde");
File.SetAttributes("abcde.txt", FileAttributes.ReadOnly);
FileAttributes attrs = File.GetAttributes("abcde.txt");
Console.WriteLine(attrs.HasFlag(FileAttributes.ReadOnly));
File.SetAttributes("abcde.txt", FileAttributes.Normal);
File.Delete("abcde.txt");
}
}
Результат выполнения кода:
True
Пример
Давайте проверим Archive у нового файла:
using System;
using System.IO;
class Program
{
static void Main()
{
File.WriteAllText("abcde.txt", "12345");
FileAttributes attrs = File.GetAttributes("abcde.txt");
Console.WriteLine(attrs.HasFlag(FileAttributes.Archive));
File.Delete("abcde.txt");
}
}
Результат выполнения кода:
True
Пример
Давайте увидеть Directory у папки
abcde:
using System;
using System.IO;
class Program
{
static void Main()
{
Directory.CreateDirectory("abcde");
FileAttributes attrs = File.GetAttributes("abcde");
Console.WriteLine(attrs.HasFlag(FileAttributes.Directory));
Directory.Delete("abcde");
}
}
Результат выполнения кода:
True
Смотрите также
-
SearchOption,
глубина обхода каталогов -
FileMode,
открытие файла после проверки -
EnumerateFiles,
список файлов в каталоге -
FileAccess,
доступ при работе с потоком