FileOptions 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
FileStream 개체를 만들기 위한 고급 옵션을 나타냅니다.
이 열거형은 멤버 값의 비트 조합을 지원합니다.
public enum class FileOptions
[System.Flags]
public enum FileOptions
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum FileOptions
[<System.Flags>]
type FileOptions =
[<System.Flags>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type FileOptions =
Public Enum FileOptions
- 상속
- 특성
필드
| Name | 값 | Description |
|---|---|---|
| WriteThrough | -2147483648 | 시스템이 중간 캐시를 통해 쓰고 디스크로 직접 이동해야 임을 나타냅니다. |
| None | 0 | 개체를 만들 때 추가 옵션을 사용할 수 없음을 FileStream 나타냅니다. |
| Encrypted | 16384 | 파일이 암호화되고 암호화에 사용되는 동일한 사용자 계정을 사용해야만 암호 해독할 수 있음을 나타냅니다. |
| DeleteOnClose | 67108864 | 파일이 더 이상 사용되지 않을 때 자동으로 삭제됨을 나타냅니다. |
| SequentialScan | 134217728 | 파일을 처음부터 끝까지 순차적으로 액세스해야 임을 나타냅니다. 시스템에서는 이 필드를 힌트로 사용하여 파일 캐싱을 최적화할 수 있습니다. 애플리케이션이 임의 액세스를 위해 파일 포인터를 이동하는 경우 최적의 캐싱이 발생하지 않을 수 있습니다. 그러나 올바른 작업은 여전히 보장됩니다. 이 플래그를 지정하면 경우에 따라 성능이 향상됩니다. |
| RandomAccess | 268435456 | 파일이 임의로 액세스됨을 나타냅니다. 시스템에서는 이 필드를 힌트로 사용하여 파일 캐싱을 최적화할 수 있습니다. |
| Asynchronous | 1073741824 | 파일을 비동기 읽기 및 쓰기에 사용할 수 있음을 나타냅니다. |
예제
다음 예제에서는 파일 스트림을 만들 때 비동기 값을 사용하는 방법을 보여줍니다.
using System;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
WriteToFile();
}
static async void WriteToFile()
{
byte[] bytesToWrite = Encoding.Unicode.GetBytes("example text to write");
using (FileStream createdFile = File.Create("c:/Temp/testfile.txt", 4096, FileOptions.Asynchronous))
{
await createdFile.WriteAsync(bytesToWrite, 0, bytesToWrite.Length);
}
}
}
}
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
WriteToFile()
End Sub
Async Sub WriteToFile()
Dim bytesToWrite = Encoding.Unicode.GetBytes("example text to write")
Using createdFile As FileStream = File.Create("c:/Temp/testfile.txt", 4096, FileOptions.Asynchronous)
Await createdFile.WriteAsync(bytesToWrite, 0, bytesToWrite.Length)
End Using
End Sub
End Module
설명
플래그를 FileOptions.SequentialScan 지정하면 순차적 액세스를 사용하여 큰 파일을 읽는 애플리케이션의 성능이 향상됩니다. 대용량 파일을 주로 순차적으로 읽는 애플리케이션의 경우 성능 향상이 훨씬 더 두드러질 수 있지만 경우에 따라 작은 바이트 범위로 건너뜁니다.