FileAttributes Перечисление

Определение

Предоставляет атрибуты для файлов и каталогов.

Это перечисление поддерживает побитовую комбинацию значений его членов.

public enum class FileAttributes
[System.Flags]
public enum FileAttributes
[System.Flags]
[System.Serializable]
public enum FileAttributes
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum FileAttributes
[<System.Flags>]
type FileAttributes = 
[<System.Flags>]
[<System.Serializable>]
type FileAttributes = 
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileAttributes = 
Public Enum FileAttributes
Наследование
FileAttributes
Атрибуты

Поля

Имя Значение Описание
ReadOnly 1

Файл доступен только для чтения. ReadOnly поддерживается в Windows, Linux и macOS. В Linux и macOS изменение ReadOnly флага — это операция разрешений.

Hidden 2

Файл скрыт и поэтому не включается в обычный список каталогов. Hidden поддерживается в Windows, Linux и macOS.

System 4

Файл является системным файлом. То есть файл является частью операционной системы или используется исключительно операционной системой.

Directory 16

Файл является каталогом. Directory поддерживается в Windows, Linux и macOS.

Archive 32

Этот файл помечается для включения в добавочную операцию резервного копирования. Windows задает этот атрибут при изменении файла, а программное обеспечение резервного копирования должно очистить его при обработке файла во время добавочного резервного копирования.

Device 64

Зарезервировано для дальнейшего использования.

Normal 128

Файл является стандартным файлом, который не имеет специальных атрибутов. Этот атрибут действителен только в том случае, если он используется отдельно. Normal поддерживается в Windows, Linux и macOS.

Temporary 256

Файл является временным. Временный файл содержит данные, необходимые во время выполнения приложения, но не требуются после завершения приложения. Файловые системы пытаются сохранить все данные в памяти для более быстрого доступа, а не сбрасывать данные обратно в массовое хранилище. Временный файл следует удалить приложением, как только он больше не нужен.

SparseFile 512

Файл является разреженным файлом. Разреженные файлы обычно являются большими файлами, данные которых состоят в основном от нуля.

ReparsePoint 1024

Файл содержит точку повторного анализа, которая является блоком определяемых пользователем данных, связанных с файлом или каталогом. ReparsePoint поддерживается в Windows, Linux и macOS.

Compressed 2048

Файл сжимается.

Offline 4096

Файл находится в автономном режиме. Данные файла не сразу доступны.

NotContentIndexed 8192

Файл не будет индексирован службой индексирования содержимого операционной системы.

Encrypted 16384

Файл или каталог шифруются. Для файла это означает, что все данные в файле шифруются. Для каталога это означает, что шифрование по умолчанию для только что созданных файлов и каталогов.

IntegrityStream 32768

Файл или каталог включают поддержку целостности данных. Если это значение применяется к файлу, все потоки данных в файле поддерживают целостность. Если это значение применяется к каталогу, все новые файлы и вложенные каталоги в этом каталоге по умолчанию включают поддержку целостности.

NoScrubData 131072

Файл или каталог исключен из проверки целостности данных. Если это значение применяется к каталогу, по умолчанию все новые файлы и подкаталоги в этом каталоге исключаются из целостности данных.

Примеры

В следующем примере показано, как получить атрибуты для файла и проверить, доступен ли файл только для чтения.

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            FileAttributes attributes = File.GetAttributes("c:/Temp/testfile.txt");
            if ((attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
            {
                Console.WriteLine("read-only file");
            }
            else
            {
                Console.WriteLine("not read-only file");
            }
        }
    }
}
open System.IO

let attributes = File.GetAttributes "c:/Temp/testfile.txt"
if attributes &&& FileAttributes.ReadOnly = FileAttributes.ReadOnly then
    printfn "read-only file"
else
    printfn "not read-only file"
Imports System.IO
Imports System.Text

Module Module1
    Sub Main()
        Dim attributes = File.GetAttributes("c:/Temp/testfile.txt")
        If ((attributes And FileAttributes.ReadOnly) = FileAttributes.ReadOnly) Then
            Console.WriteLine("read-only file")
        Else
            Console.WriteLine("not read-only file")
        End If
    End Sub
End Module

Комментарии

Атрибуты для файлов и каталогов можно получить, File.GetAttributes вызвав метод, и их можно задать, вызвав File.SetAttributes метод.

Невозможно изменить состояние File сжатия объекта с помощью File.SetAttributes метода. Вместо этого необходимо фактически сжать файл с помощью средства сжатия или одного из классов в System.IO.Compression пространстве имен.

Следующие атрибуты не поддерживаются .NET Core в Linux и macOS:

В системах Unix значение, возвращаемое File.GetAttributesHidden для файла, имя которого начинается с точки (". В macOS можно получить или задать скрытый флаг.

Применяется к

См. также раздел