FileAttributes 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
파일 및 디렉터리에 대한 특성을 제공합니다.
이 열거형은 멤버 값의 비트 조합을 지원합니다.
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
- 상속
- 특성
필드
| Name | 값 | Description |
|---|---|---|
| None | 0 | |
| ReadOnly | 1 | 파일이 읽기 전용입니다. Windows, Linux 및 macOS에서 |
| 2 | 파일이 숨겨지므로 일반 디렉터리 목록에 포함되지 않습니다. Windows, Linux 및 macOS에서 |
|
| System | 4 | 파일은 시스템 파일입니다. 즉, 파일이 운영 체제의 일부이거나 운영 체제에서 단독으로 사용됩니다. |
| Directory | 16 | 파일이 디렉터리입니다. Windows, Linux 및 macOS에서 |
| Archive | 32 | 이 파일은 증분 백업 작업에 포함되도록 표시됩니다. Windows 파일이 수정될 때마다 이 특성을 설정하며, 백업 소프트웨어는 증분 백업 중에 파일을 처리할 때 해당 특성을 지워야 합니다. |
| Device | 64 | 향후 사용을 위해 예약됨. |
| Normal | 128 | 이 파일은 특별한 특성이 없는 표준 파일입니다. 이 특성은 단독으로 사용되는 경우에만 유효합니다. Windows, Linux 및 macOS에서 |
| Temporary | 256 | 파일이 일시적입니다. 임시 파일에는 애플리케이션이 실행되는 동안 필요하지만 애플리케이션이 완료된 후에는 필요하지 않은 데이터가 포함됩니다. 파일 시스템은 데이터를 다시 대용량 스토리지로 플러시하는 대신 더 빠른 액세스를 위해 모든 데이터를 메모리에 유지하려고 합니다. 임시 파일은 더 이상 필요하지 않은 즉시 애플리케이션에서 삭제해야 합니다. |
| SparseFile | 512 | 파일은 희소 파일입니다. 스파스 파일은 일반적으로 데이터가 대부분 0으로 구성된 큰 파일입니다. |
| ReparsePoint | 1024 | 파일에는 파일 또는 디렉터리에 연결된 사용자 정의 데이터의 블록인 재처리 지점이 포함되어 있습니다. 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 클래스 중 하나를 사용하여 파일을 실제로 압축해야 합니다.
Linux 및 macOS의 .NET Core에서는 다음 특성이 지원되지 않습니다.
- FileAttributes.Archive
- FileAttributes.Compressed
- FileAttributes.Device
- FileAttributes.Encrypted
- FileAttributes.IntegrityStream
- FileAttributes.NoScrubData
- FileAttributes.NotContentIndexed
- FileAttributes.Offline
- FileAttributes.SparseFile
- FileAttributes.System
- FileAttributes.Temporary
Unix 시스템에서 반환되는 File.GetAttributes 값은 이름이 마침표(".")로 시작하는 파일에 대해 포함 Hidden 됩니다. macOS에서 숨겨진 플래그를 얻거나 설정할 수 있습니다.