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
- Наследование
- Атрибуты
Поля
| Имя | Значение | Описание |
|---|---|---|
| ReadOnly | 1 | Файл доступен только для чтения.
|
| 2 | Файл скрыт и поэтому не включается в обычный список каталогов.
|
|
| System | 4 | Файл является системным файлом. То есть файл является частью операционной системы или используется исключительно операционной системой. |
| Directory | 16 | Файл является каталогом.
|
| Archive | 32 | Этот файл помечается для включения в добавочную операцию резервного копирования. Windows задает этот атрибут при изменении файла, а программное обеспечение резервного копирования должно очистить его при обработке файла во время добавочного резервного копирования. |
| Device | 64 | Зарезервировано для дальнейшего использования. |
| Normal | 128 | Файл является стандартным файлом, который не имеет специальных атрибутов. Этот атрибут действителен только в том случае, если он используется отдельно.
|
| Temporary | 256 | Файл является временным. Временный файл содержит данные, необходимые во время выполнения приложения, но не требуются после завершения приложения. Файловые системы пытаются сохранить все данные в памяти для более быстрого доступа, а не сбрасывать данные обратно в массовое хранилище. Временный файл следует удалить приложением, как только он больше не нужен. |
| SparseFile | 512 | Файл является разреженным файлом. Разреженные файлы обычно являются большими файлами, данные которых состоят в основном от нуля. |
| ReparsePoint | 1024 | Файл содержит точку повторного анализа, которая является блоком определяемых пользователем данных, связанных с файлом или каталогом.
|
| 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:
- FileAttributes.Archive
- FileAttributes.Compressed
- FileAttributes.Device
- FileAttributes.Encrypted
- FileAttributes.IntegrityStream
- FileAttributes.NoScrubData
- FileAttributes.NotContentIndexed
- FileAttributes.Offline
- FileAttributes.SparseFile
- FileAttributes.System
- FileAttributes.Temporary
В системах Unix значение, возвращаемое File.GetAttributesHidden для файла, имя которого начинается с точки (". В macOS можно получить или задать скрытый флаг.