FileOptions Énumération

Définition

Représente des options avancées pour créer 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

Asynchronous 1073741824

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

DeleteOnClose 67108864

Indique qu’un fichier est automatiquement supprimé quand il n’est plus en cours d’utilisation.

Encrypted 16384

Indique qu’un fichier est chiffré et qu’il peut être déchiffré uniquement en utilisant le même compte d’utilisateur que celui utilisé pour le chiffrement.

None 0

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

RandomAccess 268435456

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

SequentialScan 134217728

Indique que le fichier doit être accessible de manière séquentielle du début à la 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, une mise en cache optimale peut ne pas se produire ; toutefois, une opération correcte est garantie. La spécification de cet indicateur peut augmenter les performances dans certains cas.

WriteThrough -2147483648

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

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 FileOptions.SequentialScan peut augmenter les 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 principalement des fichiers volumineux de façon séquentielle, mais ignorent parfois les petites plages d’octets.

S’applique à