Cette documentation est archivée et n’est pas conservée.

FileOptions, énumération

Remarque : cette énumération est nouvelle dans le .NET Framework version 2.0.

Représente des options supplémentaires pour créer un objet FileStream.

Cette énumération possède un attribut FlagsAttribute qui permet la combinaison d'opérations de bits de ses valeurs membres.

Espace de noms : System.IO
Assembly : mscorlib (dans mscorlib.dll)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[FlagsAttribute] 
public enum FileOptions
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute FlagsAttribute() */ 
public enum FileOptions
SerializableAttribute 
ComVisibleAttribute(true) 
FlagsAttribute 
public enum FileOptions

 Nom de membreDescription
AsynchronousIndique qu'un fichier peut être utilisé pour la lecture et l'écriture asynchrones.  
DeleteOnCloseIndique qu'un fichier est automatiquement supprimé lorsqu'il n'est plus en cours d'utilisation. 
EncryptedIndique 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. 
NoneIndique aucun paramètre supplémentaire. 
RandomAccessIndique que le fichier est accédé aléatoirement. Le système peut utiliser cette indication pour optimiser la mise en cache du fichier. 
SequentialScanIndique que le fichier est accessible séquentiellement 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 accroître les performances pour les applications qui lisent des fichiers volumineux à l'aide d'un accès séquentiel. Le gain de performances peut être encore plus notable pour les applications qui lisent des fichiers volumineux surtout séquentiellement, tout en ignorant parfois de petites plages d'octets.

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

Utilisez l'énumération FileOptions pour spécifier des options de fichier avancées.

L'exemple de code suivant écrit des données dans un fichier, puis lit les données à l'aide de l'objet FileStream.

using System;
using System.IO;
using System.Text;
using System.Security.AccessControl;

namespace FileSystemExample
{
    class FileStreamExample
    {
        public static void Main()
        {
            try
            {
                // Create a file and write data to it.

                // Create an array of bytes.
                byte[] messageByte = Encoding.ASCII.GetBytes("Here is some data.");

                // Specify an access control list (ACL)
                FileSecurity fs = new FileSecurity();

                fs.AddAccessRule(new FileSystemAccessRule(@"DOMAINNAME\AccountName",
                                                            FileSystemRights.ReadData,
                                                            AccessControlType.Allow));

                // Create a file using the FileStream class.
                FileStream fWrite = new FileStream("test.txt", FileMode.Create, FileSystemRights.Modify, FileShare.None, 8, FileOptions.None, fs);

                // Write the number of bytes to the file.
                fWrite.WriteByte((byte)messageByte.Length);

                // Write the bytes to the file.
                fWrite.Write(messageByte, 0, messageByte.Length);

                // Close the stream.
                fWrite.Close();

                
                // Open a file and read the number of bytes.

                FileStream fRead = new FileStream("test.txt", FileMode.Open);

                // The first byte is the string length.
                int length = (int)fRead.ReadByte();

                // Create a new byte array for the data.
                byte[] readBytes = new byte[length];

                // Read the data from the file.
                fRead.Read(readBytes, 0, readBytes.Length);

                // Close the stream.
                fRead.Close();

                // Display the data.
                Console.WriteLine(Encoding.ASCII.GetString(readBytes));

                Console.WriteLine("Done writing and reading data.");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            Console.ReadLine();
        }
    }
}


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0
Afficher: