英語で読む

次の方法で共有


FileOptions 列挙型

定義

FileStream オブジェクトを作成するための高度なオプションを表します。

この列挙体は、メンバー値のビットごとの組み合わせをサポートしています。

C#
[System.Flags]
public enum FileOptions
C#
[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

システムが中間キャッシュを使用して書き込みを行い、直接ディスクに移動することを示します。

次の例は、ファイル ストリームの作成時に非同期値を使用する方法を示しています。

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

注釈

フラグを FileOptions.SequentialScan 指定すると、シーケンシャル アクセスを使用して大きなファイルを読み取るアプリケーションのパフォーマンスが向上する可能性があります。 大きなファイルを主に順番に読み取るが、小さなバイト範囲をスキップする場合があるアプリケーションでは、パフォーマンスの向上がさらに顕著になる可能性があります。

適用対象

製品 バージョン
.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