FileOptions Enum

Definitie

Vertegenwoordigt geavanceerde opties voor het maken van een FileStream object.

Deze opsomming ondersteunt een bitsgewijze combinatie van de waarden van de leden.

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
Overname
FileOptions
Kenmerken

Velden

Name Waarde Description
WriteThrough -2147483648

Geeft aan dat het systeem moet schrijven via een tussenliggende cache en rechtstreeks naar de schijf moet gaan.

None 0

Geeft aan dat er geen extra opties moeten worden gebruikt bij het maken van een FileStream object.

Encrypted 16384

Geeft aan dat een bestand is versleuteld en alleen kan worden ontsleuteld met hetzelfde gebruikersaccount dat wordt gebruikt voor versleuteling.

DeleteOnClose 67108864

Geeft aan dat een bestand automatisch wordt verwijderd wanneer het niet meer wordt gebruikt.

SequentialScan 134217728

Geeft aan dat het bestand opeenvolgend moet worden geopend. Het systeem kan dit gebruiken als hint voor het optimaliseren van bestandscache. Als een toepassing de bestandsaanwijzer voor willekeurige toegang verplaatst, kan er geen optimale caching optreden; de juiste werking is echter nog steeds gegarandeerd. Als u deze vlag opgeeft, kunnen de prestaties in sommige gevallen toenemen.

RandomAccess 268435456

Geeft aan dat het bestand willekeurig wordt geopend. Het systeem kan dit gebruiken als hint voor het optimaliseren van bestandscache.

Asynchronous 1073741824

Geeft aan dat een bestand kan worden gebruikt voor asynchroon lezen en schrijven.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de Asynchrone waarde gebruikt bij het maken van een bestandsstroom.

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

Opmerkingen

Het opgeven van de FileOptions.SequentialScan vlag kan de prestaties verbeteren voor toepassingen die grote bestanden lezen met behulp van sequentiële toegang. Prestatieverbeteringen kunnen nog duidelijker zijn voor toepassingen die grote bestanden meestal sequentieel lezen, maar af en toe overslaan van kleine bereiken van bytes.

Van toepassing op