FileOptions FileOptions FileOptions FileOptions Enum

Definizione

Rappresenta le opzioni avanzate per la creazione di un oggetto FileStream.Represents advanced options for creating a FileStream object.

Questa enumerazione ha un attributo FlagsAttribute che consente una combinazione bit per bit dei valori del relativo membro.

public enum class FileOptions
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum FileOptions
type FileOptions = 
Public Enum FileOptions
Ereditarietà
Attributi

Campi

Asynchronous Asynchronous Asynchronous Asynchronous 1073741824

Indica che è possibile utilizzare un file per la lettura e la scrittura asincrona.Indicates that a file can be used for asynchronous reading and writing.

DeleteOnClose DeleteOnClose DeleteOnClose DeleteOnClose 67108864

Indica l'eliminazione automatica del file quando non è più in uso.Indicates that a file is automatically deleted when it is no longer in use.

Encrypted Encrypted Encrypted Encrypted 16384

Indica che un file è crittografato ed è possibile decrittografarlo solamente utilizzando lo stesso account utente utilizzato per la crittografia.Indicates that a file is encrypted and can be decrypted only by using the same user account used for encryption.

None None None None 0

Indica che non deve essere utilizzata alcuna opzione aggiuntiva quando crea un oggetto FileStream.Indicates that no additional options should be used when creating a FileStream object.

RandomAccess RandomAccess RandomAccess RandomAccess 268435456

Indica l'accesso casuale al file.Indicates that the file is accessed randomly. Il sistema può utilizzarlo come suggerimento per l'ottimizzazione della cache del file.The system can use this as a hint to optimize file caching.

SequentialScan SequentialScan SequentialScan SequentialScan 134217728

Indica che l'accesso del file deve avvenire in modo sequenziale dall'inizio alla fine.Indicates that the file is to be accessed sequentially from beginning to end. Il sistema può utilizzarlo come suggerimento per l'ottimizzazione della cache del file.The system can use this as a hint to optimize file caching. Se un'applicazione sposta il puntatore a file per l'accesso casuale, la cache potrebbe non essere ottimale ma l'operazione viene comunque garantita.If an application moves the file pointer for random access, optimum caching may not occur; however, correct operation is still guaranteed. La scelta di questo flag in alcuni casi può migliorare le prestazioni.Specifying this flag can increase performance in some cases.

WriteThrough WriteThrough WriteThrough WriteThrough -2147483648

Indica al sistema di ignorare le cache intermedie e di accedere direttamente al disco.Indicates that the system should write through any intermediate cache and go directly to disk.

Esempi

Nell'esempio seguente viene illustrato come utilizzare il valore asincrono quando si crea un flusso di file.The following example shows how to use the Asynchronous value when creating a file stream.

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

Commenti

La specifica FileOptions.SequentialScan del flag può migliorare le prestazioni per le applicazioni che leggono file di grandi dimensioni tramite l'accesso sequenziale.Specifying the FileOptions.SequentialScan flag can increase performance for applications that read large files using sequential access. I miglioramenti delle prestazioni possono essere ancora più evidenti per le applicazioni che leggono file di grandi dimensioni soprattutto in sequenza, ma che talvolta ignorano intervalli di byte ridotti.Performance gains can be even more noticeable for applications that read large files mostly sequentially, but occasionally skip over small ranges of bytes.

Si applica a