FileOptions Enum

Definition

Representerar avancerade alternativ för att skapa ett FileStream objekt.

Den här uppräkningen stöder en bitvis kombination av dess medlemsvärden.

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
Arv
FileOptions
Attribut

Fält

Name Värde Description
WriteThrough -2147483648

Anger att systemet ska skriva via en mellanliggande cache och gå direkt till disken.

None 0

Anger att inga ytterligare alternativ ska användas när du skapar ett FileStream objekt.

Encrypted 16384

Anger att en fil är krypterad och endast kan dekrypteras med samma användarkonto som används för kryptering.

DeleteOnClose 67108864

Anger att en fil tas bort automatiskt när den inte längre används.

SequentialScan 134217728

Anger att filen ska nås sekventiellt från början till slut. Systemet kan använda detta som ett tips för att optimera filcachelagring. Om ett program flyttar filpekaren för slumpmässig åtkomst kan det hända att optimal cachelagring inte sker. Korrekt åtgärd garanteras dock fortfarande. Om du anger den här flaggan kan prestandan öka i vissa fall.

RandomAccess 268435456

Anger att filen används slumpmässigt. Systemet kan använda detta som ett tips för att optimera filcachelagring.

Asynchronous 1073741824

Anger att en fil kan användas för asynkron läsning och skrivning.

Exempel

I följande exempel visas hur du använder det asynkrona värdet när du skapar en filström.

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

Kommentarer

Om du anger FileOptions.SequentialScan flaggan kan prestandan öka för program som läser stora filer med sekventiell åtkomst. Prestandavinster kan vara ännu mer märkbara för program som läser stora filer mestadels sekventiellt, men ibland hoppar över små intervall med byte.

Gäller för