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
- 继承
- 属性
字段
Asynchronous | 1073741824 | 指示文件可用于异步读取和写入。 |
DeleteOnClose | 67108864 | 指示当不再使用某个文件时,自动删除该文件。 |
Encrypted | 16384 | 指示文件是加密的,只能通过用于加密的同一用户帐户来解密。 |
None | 0 | 指示在生成 FileStream 对象时,不应使用其他选项。 |
RandomAccess | 268435456 | 指示随机访问文件。 系统可将此选项用作优化文件缓存的提示。 |
SequentialScan | 134217728 | 指示按从头到尾的顺序访问文件。 系统可将此选项用作优化文件缓存的提示。 如果应用程序移动用于随机访问的文件指针,可能不发生优化缓存,但仍然保证操作的正确性。 如果指定此标志,可提升某些案例中的性能。 |
WriteThrough | -2147483648 | 指示系统应通过任何中间缓存、直接写入磁盘。 |
示例
以下示例演示如何在创建文件流时使用异步值。
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
标志可以提高使用顺序访问读取大型文件的应用程序的性能。 对于主要按顺序读取大型文件,但偶尔跳过较小字节范围的应用程序,性能提升可能更为明显。