FileOptions Enumeração

Definição

Representa opções avançadas para criação de um objeto FileStream.

Essa enumeração dá suporte a uma combinação bit a bit dos valores de membro.

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
Herança
FileOptions
Atributos

Campos

Asynchronous 1073741824

Indica que um arquivo pode ser usado para leitura e gravação assíncronas.

DeleteOnClose 67108864

Indica que um arquivo é excluído automaticamente quando ele não estiver mais em uso.

Encrypted 16384

Indica que um arquivo é criptografado e pode ser descriptografado somente usando a mesma conta de usuário usada para criptografia.

None 0

Indica que nenhuma opção adicional deve ser usada ao criar um objeto FileStream.

RandomAccess 268435456

Indica que o arquivo é acessado aleatoriamente. O sistema pode usar isso como uma dica para otimizar o cache de arquivo.

SequentialScan 134217728

Indica que o arquivo deve ser acessado sequencialmente do começo ao fim. O sistema pode usar isso como uma dica para otimizar o cache de arquivo. Se um aplicativo move o ponteiro do arquivo para acesso aleatório, poderá não ocorrer cache ideal; no entanto, a operação correta ainda é garantida. Especificar esse sinalizador pode aumentar o desempenho em alguns casos.

WriteThrough -2147483648

Indica que o sistema deve gravar por meio de qualquer cache intermediário e ir diretamente para o disco.

Exemplos

O exemplo a seguir mostra como usar o valor assíncrono ao criar um fluxo de arquivo.

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

Comentários

Especificar o sinalizador pode aumentar o FileOptions.SequentialScan desempenho para aplicativos que leem arquivos grandes usando acesso sequencial. Os ganhos de desempenho podem ser ainda mais perceptíveis para aplicativos que leem arquivos grandes principalmente sequencialmente, mas ocasionalmente ignoram pequenos intervalos de bytes.

Aplica-se a