Ағылшын тілінде оқу

Бөлісу құралы:


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

Определение

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

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

[System.Flags]
public enum FileOptions
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum FileOptions
Наследование
FileOptions
Атрибуты

Поля

Asynchronous 1073741824

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

DeleteOnClose 67108864

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

Encrypted 16384

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

None 0

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

RandomAccess 268435456

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

SequentialScan 134217728

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

WriteThrough -2147483648

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

Примеры

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

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

Комментарии

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

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