İngilizce dilinde oku

Aracılığıyla paylaş


FileOptions Sabit listesi

Tanım

Nesne oluşturmak FileStream için gelişmiş seçenekleri temsil eder.

Bu sabit listesi, üyeleri için bit düzeyinde karşılaştırmayı destekler.

C#
[System.Flags]
public enum FileOptions
C#
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum FileOptions
Devralma
FileOptions
Öznitelikler

Alanlar

Name Değer Description
Asynchronous 1073741824

Bir dosyanın zaman uyumsuz okuma ve yazma için kullanılabileceğini gösterir.

DeleteOnClose 67108864

Artık kullanımda olmayan bir dosyanın otomatik olarak silindiğini gösterir.

Encrypted 16384

Bir dosyanın şifrelendiğini ve şifrelerinin yalnızca şifreleme için kullanılan aynı kullanıcı hesabı kullanılarak çözülebileceğini gösterir.

None 0

Nesne oluştururken FileStream ek seçeneklerin kullanılmaması gerektiğini gösterir.

RandomAccess 268435456

Dosyaya rastgele erişildiğini gösterir. Sistem bunu dosya önbelleğini iyileştirmek için ipucu olarak kullanabilir.

SequentialScan 134217728

Dosyaya baştan sona sıralı olarak erişildiğini gösterir. Sistem bunu dosya önbelleğini iyileştirmek için ipucu olarak kullanabilir. Bir uygulama rastgele erişim için dosya işaretçisini taşırsa, en iyi önbelleğe alma gerçekleşmeyebilir; ancak doğru işlem yine de garanti edilir. Bu bayrağın belirtilmesi bazı durumlarda performansı artırabilir.

WriteThrough -2147483648

Sistemin herhangi bir ara önbellek üzerinden yazması ve doğrudan diske gitmesi gerektiğini gösterir.

Örnekler

Aşağıdaki örnekte, dosya akışı oluştururken Zaman Uyumsuz değerinin nasıl kullanılacağı gösterilmektedir.

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

Açıklamalar

bayrağını FileOptions.SequentialScan belirtmek, sıralı erişim kullanarak büyük dosyaları okuyan uygulamaların performansını artırabilir. Büyük dosyaları çoğunlukla sıralı olarak okuyan, ancak bazen küçük bayt aralıklarını atlayan uygulamalar için performans artışları daha da belirgin olabilir.

Şunlara uygulanır

Ürün Sürümler
.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