Sdílet prostřednictvím


FileOptions Výčet

Definice

Představuje rozšířené 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

Asynchronous 1073741824

Označuje, že soubor lze použít pro asynchronní čtení a zápis.

DeleteOnClose 67108864

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

Encrypted 16384

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

None 0

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

RandomAccess 268435456

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

SequentialScan 134217728

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

WriteThrough -2147483648

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

Příklady

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

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

Zadáním příznaku FileOptions.SequentialScan můžete zvýšit výkon aplikací, které čtou velké soubory pomocí sekvenčního přístupu. Zvýšení výkonu může být ještě výraznější u aplikací, které čtou velké soubory většinou sekvenčně, ale občas přeskočí malé rozsahy bajtů.

Platí pro