FileOptions Énumération

Définition

Représente les options avancées de création d’un objet FileStream.

Cette énumération prend en charge une combinaison au niveau du bit de ses valeurs membres.

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
Héritage
FileOptions
Attributs

Champs

Nom Valeur Description
WriteThrough -2147483648

Indique que le système doit écrire dans n’importe quel cache intermédiaire et accéder directement au disque.

None 0

Indique qu’aucune option supplémentaire ne doit être utilisée lors de la création d’un FileStream objet.

Encrypted 16384

Indique qu’un fichier est chiffré et peut être déchiffré uniquement à l’aide du même compte d’utilisateur utilisé pour le chiffrement.

DeleteOnClose 67108864

Indique qu’un fichier est automatiquement supprimé lorsqu’il n’est plus utilisé.

SequentialScan 134217728

Indique que le fichier est accessible de manière séquentielle de début à fin. Le système peut utiliser cette indication pour optimiser la mise en cache du fichier. Si une application déplace le pointeur de fichier pour l’accès aléatoire, la mise en cache optimale peut ne pas se produire ; toutefois, l’opération correcte est toujours garantie. La spécification de cet indicateur peut augmenter les performances dans certains cas.

RandomAccess 268435456

Indique que le fichier est accessible de façon aléatoire. Le système peut utiliser cette indication pour optimiser la mise en cache du fichier.

Asynchronous 1073741824

Indique qu’un fichier peut être utilisé pour la lecture et l’écriture asynchrones.

Exemples

L’exemple suivant montre comment utiliser la valeur asynchrone lors de la création d’un flux de fichiers.

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

Remarques

La spécification de l’indicateur peut augmenter les FileOptions.SequentialScan performances des applications qui lisent des fichiers volumineux à l’aide d’un accès séquentiel. Les gains de performances peuvent être encore plus visibles pour les applications qui lisent les fichiers volumineux principalement de manière séquentielle, mais ignorent parfois de petites plages d’octets.

S’applique à