FileOptions FileOptions FileOptions FileOptions Enum

Определение

Представляет дополнительные параметры для создания объекта FileStream.Represents advanced options for creating a FileStream object.

Это перечисление имеет атрибут FlagsAttribute, который разрешает побитовое сочетание значений его элементов.

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

Поля

Asynchronous Asynchronous Asynchronous Asynchronous 1073741824

Указывает, что файл может использоваться для асинхронного чтения и записи.Indicates that a file can be used for asynchronous reading and writing.

DeleteOnClose DeleteOnClose DeleteOnClose DeleteOnClose 67108864

Указывает, что файл автоматически удаляется, если он не будет больше использоваться.Indicates that a file is automatically deleted when it is no longer in use.

Encrypted Encrypted Encrypted Encrypted 16384

Указывает, что файл является зашифрованным и может быть расшифрован только с использованием той же учетной записи пользователя, которая применялась для шифрования.Indicates that a file is encrypted and can be decrypted only by using the same user account used for encryption.

None None None None 0

Указывает, что при создании объекта FileStream не должны использоваться дополнительные параметры.Indicates that no additional options should be used when creating a FileStream object.

RandomAccess RandomAccess RandomAccess RandomAccess 268435456

Указывается, что доступ к файлу осуществляется произвольно.Indicates that the file is accessed randomly. Система может использовать это в качестве подсказки для оптимизации кэширования файла.The system can use this as a hint to optimize file caching.

SequentialScan SequentialScan SequentialScan SequentialScan 134217728

Указывает, что доступ к файлу осуществляется последовательно от начала к концу.Indicates that the file is to be accessed sequentially from beginning to end. Система может использовать это в качестве подсказки для оптимизации кэширования файла.The system can use this as a hint to optimize file caching. Если в приложении указатель позиции в файле перемещается для произвольного доступа, оптимального кэширования можно не достигнуть, однако правильная работа гарантируется.If an application moves the file pointer for random access, optimum caching may not occur; however, correct operation is still guaranteed. Указание этого флага в некоторых случаях может повысить производительность.Specifying this flag can increase performance in some cases.

WriteThrough WriteThrough WriteThrough WriteThrough -2147483648

Указывает, что запись в системе должна выполняться через любой промежуточный кэш и переходить напрямую на диск.Indicates that the system should write through any intermediate cache and go directly to disk.

Примеры

В следующем примере показано, как использовать асинхронное значение при создании файлового потока.The following example shows how to use the Asynchronous value when creating a file stream.

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 Указание флага может повысить производительность приложений, считывающих большие файлы с помощью последовательного доступа.Specifying the FileOptions.SequentialScan flag can increase performance for applications that read large files using sequential access. Выигрыш в производительности может быть еще более заметным для приложений, которые считывают большие файлы в основном последовательно, но иногда пропускают небольшие диапазоны байтов.Performance gains can be even more noticeable for applications that read large files mostly sequentially, but occasionally skip over small ranges of bytes.

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