Compartir a través de


FileOptions Enumeración

Definición

Representa opciones avanzadas para crear un objeto FileStream.

Esta enumeración admite una combinación bit a bit de sus valores de miembro.

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
Herencia
FileOptions
Atributos

Campos

Asynchronous 1073741824

Indica que un archivo puede utilizarse para las operaciones de lectura y escritura asincrónicas.

DeleteOnClose 67108864

Indica que un archivo se elimina automáticamente cuando ya no está en uso.

Encrypted 16384

Indica que un archivo está cifrado y que sólo se puede descifrar utilizando la misma cuenta de usuario que la utilizada para el cifrado.

None 0

Indica que no se deben usar opciones adicionales al crear un objeto FileStream .

RandomAccess 268435456

Indica que el acceso al archivo se realiza aleatoriamente. El sistema puede considerar que esto es una sugerencia para optimizar el almacenamiento en caché del archivo.

SequentialScan 134217728

Indica que el acceso al archivo debe ser secuencial de principio a fin. El sistema puede considerar que esto es una sugerencia para optimizar el almacenamiento en caché del archivo. Si una aplicación mueve el puntero de archivo para obtener acceso aleatorio, puede que no se produzca un almacenamiento en caché óptimo; no obstante, la operación correcta sigue garantizada. Especificar esta marca puede aumentar el rendimiento en algunos casos.

WriteThrough -2147483648

Indica que el sistema debe escribir en una caché intermedia e ir directamente al disco.

Ejemplos

En el ejemplo siguiente se muestra cómo usar el valor asincrónico al crear una secuencia de archivos.

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

Comentarios

Especificar la marca puede aumentar el FileOptions.SequentialScan rendimiento de las aplicaciones que leen archivos grandes mediante el acceso secuencial. Las mejoras de rendimiento pueden ser aún más notables para las aplicaciones que leen archivos grandes principalmente secuencialmente, pero ocasionalmente omiten intervalos pequeños de bytes.

Se aplica a