FileOptions Enum
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar avancerade alternativ för att skapa ett FileStream objekt.
Den här uppräkningen stöder en bitvis kombination av dess medlemsvärden.
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
- Arv
- Attribut
Fält
| Name | Värde | Description |
|---|---|---|
| WriteThrough | -2147483648 | Anger att systemet ska skriva via en mellanliggande cache och gå direkt till disken. |
| None | 0 | Anger att inga ytterligare alternativ ska användas när du skapar ett FileStream objekt. |
| Encrypted | 16384 | Anger att en fil är krypterad och endast kan dekrypteras med samma användarkonto som används för kryptering. |
| DeleteOnClose | 67108864 | Anger att en fil tas bort automatiskt när den inte längre används. |
| SequentialScan | 134217728 | Anger att filen ska nås sekventiellt från början till slut. Systemet kan använda detta som ett tips för att optimera filcachelagring. Om ett program flyttar filpekaren för slumpmässig åtkomst kan det hända att optimal cachelagring inte sker. Korrekt åtgärd garanteras dock fortfarande. Om du anger den här flaggan kan prestandan öka i vissa fall. |
| RandomAccess | 268435456 | Anger att filen används slumpmässigt. Systemet kan använda detta som ett tips för att optimera filcachelagring. |
| Asynchronous | 1073741824 | Anger att en fil kan användas för asynkron läsning och skrivning. |
Exempel
I följande exempel visas hur du använder det asynkrona värdet när du skapar en filström.
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
Kommentarer
Om du anger FileOptions.SequentialScan flaggan kan prestandan öka för program som läser stora filer med sekventiell åtkomst. Prestandavinster kan vara ännu mer märkbara för program som läser stora filer mestadels sekventiellt, men ibland hoppar över små intervall med byte.