FileOptions Enum

Definisi

Mewakili opsi tingkat lanjut untuk membuat FileStream objek.

Enumerasi ini mendukung kombinasi bitwise dari nilai yang termasuk di dalamnya.

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
Warisan
FileOptions
Atribut

Bidang

Asynchronous 1073741824

Menunjukkan bahwa file dapat digunakan untuk pembacaan dan penulisan asinkron.

DeleteOnClose 67108864

Menunjukkan bahwa file dihapus secara otomatis saat tidak lagi digunakan.

Encrypted 16384

Menunjukkan bahwa file dienkripsi dan hanya dapat didekripsi dengan menggunakan akun pengguna yang sama yang digunakan untuk enkripsi.

None 0

Menunjukkan bahwa tidak ada opsi tambahan yang harus digunakan saat membuat FileStream objek.

RandomAccess 268435456

Menunjukkan bahwa file diakses secara acak. Sistem dapat menggunakan ini sebagai petunjuk untuk mengoptimalkan penembolokan file.

SequentialScan 134217728

Menunjukkan bahwa file akan diakses secara berurutan dari awal hingga akhir. Sistem dapat menggunakan ini sebagai petunjuk untuk mengoptimalkan penembolokan file. Jika aplikasi memindahkan penunjuk file untuk akses acak, penembolokan optimal mungkin tidak terjadi; namun, operasi yang benar masih dijamin. Menentukan bendera ini dapat meningkatkan performa dalam beberapa kasus.

WriteThrough -2147483648

Menunjukkan bahwa sistem harus menulis melalui cache perantara apa pun dan langsung masuk ke disk.

Contoh

Contoh berikut menunjukkan cara menggunakan nilai Asinkron saat membuat aliran file.

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

Keterangan

Menentukan FileOptions.SequentialScan bendera dapat meningkatkan performa untuk aplikasi yang membaca file besar menggunakan akses berurutan. Perolehan performa bisa lebih terlihat untuk aplikasi yang membaca file besar sebagian besar secara berurutan, tetapi kadang-kadang melewati rentang kecil byte.

Berlaku untuk