using System.IO; namespace MediaBrowser.Model.IO { /// /// Helper class to create async s. /// public static class AsyncFile { /// /// Gets the default for reading files async. /// public static FileStreamOptions ReadOptions => new FileStreamOptions() { Options = FileOptions.Asynchronous }; /// /// Gets the default for writing files async. /// public static FileStreamOptions WriteOptions => new FileStreamOptions() { Mode = FileMode.OpenOrCreate, Access = FileAccess.Write, Share = FileShare.None, Options = FileOptions.Asynchronous }; /// /// Opens an existing file for reading. /// /// The file to be opened for reading. /// A read-only on the specified path. public static FileStream OpenRead(string path) => new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read, IODefaults.FileStreamBufferSize, FileOptions.Asynchronous); /// /// Opens an existing file for writing. /// /// The file to be opened for writing. /// An unshared object on the specified path with Write access. public static FileStream OpenWrite(string path) => new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None, IODefaults.FileStreamBufferSize, FileOptions.Asynchronous); } }