FileOptions Enumeration

 

Represents advanced options for creating a FileStream object.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

Namespace:   System.IO
Assembly:  mscorlib (in mscorlib.dll)

[SerializableAttribute]
[FlagsAttribute]
[ComVisibleAttribute(true)]
public enum FileOptions

Member nameDescription
Asynchronous

Indicates that a file can be used for asynchronous reading and writing.

DeleteOnClose

Indicates that a file is automatically deleted when it is no longer in use.

Encrypted

Indicates that a file is encrypted and can be decrypted only by using the same user account used for encryption.

None

Indicates that no additional options should be used when creating a FileStream object.

RandomAccess

Indicates that the file is accessed randomly. The system can use this as a hint to optimize file caching.

SequentialScan

Indicates that the file is to be accessed sequentially from beginning to end. The system can use this as a hint to optimize file caching. If an application moves the file pointer for random access, optimum caching may not occur; however, correct operation is still guaranteed.

WriteThrough

Indicates that the system should write through any intermediate cache and go directly to disk.

The following example shows how to use the Asynchronous value when creating a file stream.

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

Universal Windows Platform
Available since 10
.NET Framework
Available since 2.0
Return to top
Show: