FileOptions 列舉

定義

表示用於建立 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
繼承
FileOptions
屬性

欄位

Asynchronous 1073741824

表示檔案可用於非同步讀取和寫入。

DeleteOnClose 67108864

表示檔案不再使用時會自動刪除。

Encrypted 16384

表示檔案已加密,而且只能使用相同的加密使用者帳戶才能解密。

None 0

表示建立 FileStream 物件時,不應使用任何其他選項。

RandomAccess 268435456

表示檔案是隨機存取的。 系統可使用這個做為最佳化檔案快取的提示。

SequentialScan 134217728

表示檔案是按順序從開頭至結尾依序存取。 系統可使用這個做為最佳化檔案快取的提示。 如果應用程式藉移動檔案指標來進行隨機存取,則可能不會發生最佳快取;然而,仍然保證正確的作業。 指定此旗標在某些情況下可提升效能。

WriteThrough -2147483648

表示系統應透過中繼快取直接寫入磁碟。

範例

下列範例示範如何在建立檔案數據流時使用異步值。

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 旗標可以提升效能。 對於大部分依序讀取大型檔案的應用程式,效能提升可能更明顯,但偶爾會略過少量的位元組範圍。

適用於