FileOptions Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje pokročilé možnosti pro vytvoření objektu FileStream.
Tento výčet podporuje bitové kombinace hodnot jeho členů.
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
- Dědičnost
- Atributy
Pole
| Name | Hodnota | Description |
|---|---|---|
| WriteThrough | -2147483648 | Označuje, že systém by měl zapisovat přes jakoukoli zprostředkující mezipaměť a přejít přímo na disk. |
| None | 0 | Označuje, že při vytváření objektu FileStream by se neměly používat žádné další možnosti. |
| Encrypted | 16384 | Označuje, že soubor je zašifrovaný a může být dešifrován pouze pomocí stejného uživatelského účtu, který se používá k šifrování. |
| DeleteOnClose | 67108864 | Označuje, že soubor se automaticky odstraní, když se už nepoužívá. |
| SequentialScan | 134217728 | Označuje, že k souboru se má přistupovat postupně od začátku do konce. Systém ho může použít jako nápovědu k optimalizaci ukládání souborů do mezipaměti. Pokud aplikace přesune ukazatel souboru pro náhodný přístup, může dojít k optimální ukládání do mezipaměti; správná operace je však stále zaručena. Určení tohoto příznaku může v některých případech zvýšit výkon. |
| RandomAccess | 268435456 | Označuje, že k souboru se přistupuje náhodně. Systém ho může použít jako nápovědu k optimalizaci ukládání souborů do mezipaměti. |
| Asynchronous | 1073741824 | Označuje, že soubor lze použít k asynchronnímu čtení a zápisu. |
Příklady
Následující příklad ukazuje, jak použít asynchronní hodnotu při vytváření datového proudu souboru.
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
Poznámky
Určení příznaku FileOptions.SequentialScan může zvýšit výkon pro aplikace, které čtou velké soubory pomocí sekvenčního přístupu. Zvýšení výkonu může být ještě zřetelnější pro aplikace, které čtou velké soubory většinou postupně, ale občas přeskočí malé rozsahy bajtů.