FileOptions Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt zusätzliche Optionen für das Erstellen eines FileStream-Objekts dar.
Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.
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
- Vererbung
- Attribute
Felder
Asynchronous | 1073741824 | Gibt an, dass eine Datei für asynchrone Lese- und Schreibvorgänge verwendet werden kann. |
DeleteOnClose | 67108864 | Gibt an, dass eine Datei automatisch gelöscht wird, wenn sie nicht mehr verwendet wird. |
Encrypted | 16384 | Gibt an, dass eine Datei verschlüsselt ist und nur mit dem Benutzerkonto entschlüsselt werden kann, das für die Verschlüsselung verwendet wurde. |
None | 0 | Gibt an, dass keine zusätzlichen Optionen verwendet werden sollen, wenn ein FileStream-Objekt erstellt wird. |
RandomAccess | 268435456 | Gibt an, dass auf die Datei willkürlich zugegriffen wird. Das System kann dies als Hinweis zur Optimierung der Zwischenspeicherung von Dateien verwenden. |
SequentialScan | 134217728 | Gibt an, dass auf die Datei sequenziell vom Anfang bis zum Ende zugegriffen wird. Das System kann dies als Hinweis zur Optimierung der Zwischenspeicherung von Dateien verwenden. Wenn eine Anwendung den Dateizeiger für den zufälligen Zugriff verschiebt, erfolgt möglicherweise keine optimale Zwischenspeicherung. Die ordnungsgemäße Ausführung ist jedoch weiterhin gewährleistet. Die Angabe dieses Flags kann in einigen Fällen die Leistung erhöhen. |
WriteThrough | -2147483648 | Gibt an, dass das System durch jeden Zwischencache schreiben und direkt zum Datenträger wechseln soll. |
Beispiele
Das folgende Beispiel zeigt, wie Sie den Asynchronous-Wert beim Erstellen eines Dateidatenstroms verwenden.
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
Hinweise
Das Angeben des FileOptions.SequentialScan
Flags kann die Leistung für Anwendungen erhöhen, die große Dateien mithilfe des sequenziellen Zugriffs lesen. Noch deutlicher kann die Leistung bei Anwendungen sein, die große Dateien meist sequenziell lesen, aber gelegentlich kleine Bytebereiche überspringen.