FileOptions Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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.