Leer en inglés

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.

C#
[System.Flags]
public enum FileOptions
C#
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum FileOptions
Herencia
FileOptions
Atributos

Campos

Nombre Valor Description
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.

C#
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);
            }
        }
    }
}

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

Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0