Метод File.GetAttributes
Метод File.GetAttributes возвращает
перечисление FileAttributes: можно
проверить отдельный флаг через
HasFlag. Запись флагов -
SetAttributes.
Вызов выполняется синхронно на диске.
Синтаксис
FileAttributes attr = File.GetAttributes(path);
bool readOnly = attr.HasFlag(FileAttributes.ReadOnly);
Пример
Давайте проверим только для чтения
на abcde.txt:
using System;
using System.IO;
class Program
{
static void Main()
{
File.WriteAllText("abcde.txt", "abcde");
File.SetAttributes("abcde.txt", FileAttributes.ReadOnly);
bool res = File.GetAttributes("abcde.txt").HasFlag(FileAttributes.ReadOnly);
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте убедимся, что обычный файл не помечен как каталог:
using System;
using System.IO;
class Program
{
static void Main()
{
File.WriteAllText("12345.txt", "12345");
bool res = File.GetAttributes("12345.txt").HasFlag(FileAttributes.Directory);
Console.WriteLine(res);
}
}
Результат выполнения кода:
False
Пример
Давайте сбросим атрибуты к обычному файлу:
using System;
using System.IO;
class Program
{
static void Main()
{
File.WriteAllText("abcde.txt", "abcde");
File.SetAttributes("abcde.txt", FileAttributes.ReadOnly);
File.SetAttributes("abcde.txt", FileAttributes.Normal);
bool res = File.GetAttributes("abcde.txt").HasFlag(FileAttributes.ReadOnly);
Console.WriteLine(res);
}
}
Результат выполнения кода:
False
Смотрите также
-
SetAttributes,
записать флаги -
Exists,
файл должен существовать -
GetCreationTime,
дата создания -
File,
статический класс