FileOptions Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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.