FileOptions 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
- 継承
- 属性
フィールド
| 名前 | 値 | 説明 |
|---|---|---|
| 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 フラグを指定すると、シーケンシャル アクセスを使用して大きなファイルを読み取るアプリケーションのパフォーマンスが向上する可能性があります。 大きなファイルをほぼ順番に読み取るが、場合によっては小さなバイト範囲をスキップするアプリケーションでは、パフォーマンスの向上がさらに顕著になる可能性があります。