FileOptions Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta le opzioni avanzate per la creazione di un oggetto FileStream.
Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.
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
- Ereditarietà
- Attributi
Campi
| Nome | Valore | Descrizione |
|---|---|---|
| WriteThrough | -2147483648 | Indica che il sistema deve scrivere tramite qualsiasi cache intermedia e passare direttamente al disco. |
| None | 0 | Indica che non è necessario utilizzare opzioni aggiuntive durante la creazione di un FileStream oggetto . |
| Encrypted | 16384 | Indica che un file è crittografato e può essere decrittografato solo usando lo stesso account utente usato per la crittografia. |
| DeleteOnClose | 67108864 | Indica che un file viene eliminato automaticamente quando non è più in uso. |
| SequentialScan | 134217728 | Indica che l'accesso al file deve essere eseguito in sequenza dall'inizio alla fine. Il sistema può interpretare questa situazione come hint per l'ottimizzazione della memorizzazione del file nella cache. Se un'applicazione sposta il puntatore al file per l'accesso casuale, la memorizzazione nella cache ottimale potrebbe non verificarsi; Tuttavia, l'operazione corretta è comunque garantita. La specifica di questo flag può migliorare le prestazioni in alcuni casi. |
| RandomAccess | 268435456 | Indica che il file è accessibile in modo casuale. Il sistema può interpretare questa situazione come hint per l'ottimizzazione della memorizzazione del file nella cache. |
| Asynchronous | 1073741824 | Indica che un file può essere utilizzato per la lettura e la scrittura asincrona. |
Esempio
Nell'esempio seguente viene illustrato come usare il valore asincrono durante la creazione di un flusso di file.
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 del FileOptions.SequentialScan flag può migliorare le prestazioni per le applicazioni che leggono file di grandi dimensioni usando l'accesso sequenziale. I miglioramenti delle prestazioni possono essere ancora più evidenti per le applicazioni che leggono file di grandi dimensioni principalmente in sequenza, ma occasionalmente ignorano intervalli di byte di piccole dimensioni.