FileOptions Перечисление

Определение

Представляет дополнительные параметры для создания объекта FileStream.

Это перечисление поддерживает побитовую комбинацию значений его членов.

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
Наследование
FileOptions
Атрибуты

Поля

Имя Значение Описание
WriteThrough -2147483648

Указывает, что система должна записывать данные через любой промежуточный кэш и перейти непосредственно на диск.

None 0

Указывает, что при создании FileStream объекта не следует использовать дополнительные параметры.

Encrypted 16384

Указывает, что файл зашифрован и может быть расшифрован только с помощью той же учетной записи пользователя, используемой для шифрования.

DeleteOnClose 67108864

Указывает, что файл автоматически удаляется, когда он больше не используется.

SequentialScan 134217728

Указывает, что доступ к файлу осуществляется последовательно с начала до конца. Система может использовать это в качестве указания для оптимизации кэширования файлов. Если приложение перемещает указатель файла для случайного доступа, оптимальное кэширование может не произойти; однако правильная операция по-прежнему гарантируется. Указание этого флага может повысить производительность в некоторых случаях.

RandomAccess 268435456

Указывает, что доступ к файлу осуществляется случайным образом. Система может использовать это в качестве указания для оптимизации кэширования файлов.

Asynchronous 1073741824

Указывает, что файл можно использовать для асинхронного чтения и записи.

Примеры

В следующем примере показано, как использовать асинхронное значение при создании потока файлов.

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

Комментарии

Указание флага FileOptions.SequentialScan может повысить производительность приложений, которые считывают большие файлы с помощью последовательного доступа. Повышение производительности может быть еще более заметным для приложений, которые считывают большие файлы в основном последовательно, но иногда пропускают небольшие диапазоны байтов.

Применяется к