FileOptions Výčet

Definice

Představuje pokročilé možnosti pro vytvoření objektu FileStream.

Tento výčet podporuje bitové kombinace hodnot jeho členů.

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
Dědičnost
FileOptions
Atributy

Pole

Name Hodnota Description
WriteThrough -2147483648

Označuje, že systém by měl zapisovat přes jakoukoli zprostředkující mezipaměť a přejít přímo na disk.

None 0

Označuje, že při vytváření objektu FileStream by se neměly používat žádné další možnosti.

Encrypted 16384

Označuje, že soubor je zašifrovaný a může být dešifrován pouze pomocí stejného uživatelského účtu, který se používá k šifrování.

DeleteOnClose 67108864

Označuje, že soubor se automaticky odstraní, když se už nepoužívá.

SequentialScan 134217728

Označuje, že k souboru se má přistupovat postupně od začátku do konce. Systém ho může použít jako nápovědu k optimalizaci ukládání souborů do mezipaměti. Pokud aplikace přesune ukazatel souboru pro náhodný přístup, může dojít k optimální ukládání do mezipaměti; správná operace je však stále zaručena. Určení tohoto příznaku může v některých případech zvýšit výkon.

RandomAccess 268435456

Označuje, že k souboru se přistupuje náhodně. Systém ho může použít jako nápovědu k optimalizaci ukládání souborů do mezipaměti.

Asynchronous 1073741824

Označuje, že soubor lze použít k asynchronnímu čtení a zápisu.

Příklady

Následující příklad ukazuje, jak použít asynchronní hodnotu při vytváření datového proudu souboru.

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

Poznámky

Určení příznaku FileOptions.SequentialScan může zvýšit výkon pro aplikace, které čtou velké soubory pomocí sekvenčního přístupu. Zvýšení výkonu může být ještě zřetelnější pro aplikace, které čtou velké soubory většinou postupně, ale občas přeskočí malé rozsahy bajtů.

Platí pro