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 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
- 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 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 notables pour les applications qui lisent des fichiers volumineux principalement de manière séquentielle, mais qui ignorent parfois de petites plages d’octets.