FileOptions Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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.