• System.IO.FileStream.cs


    ylbtech-System.IO.FileStream.cs
    1.返回顶部
    1、
    #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    // C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.6.1mscorlib.dll
    #endregion
    
    using System.Runtime.InteropServices;
    using System.Security;
    using System.Security.AccessControl;
    using System.Threading;
    using System.Threading.Tasks;
    using Microsoft.Win32.SafeHandles;
    
    namespace System.IO
    {
        //
        // 摘要:
        //     为文件提供 System.IO.Stream,既支持同步读写操作,也支持异步读写操作。 若要浏览此类型的.NET Framework 源代码,请参阅 Reference
        //     Source。
        [ComVisible(true)]
        public class FileStream : Stream
        {
            //
            // 摘要:
            //     使用指定的路径和创建模式初始化 System.IO.FileStream 类的新实例。
            //
            // 参数:
            //   path:
            //     当前 FileStream 对象将封装的文件的相对路径或绝对路径。
            //
            //   mode:
            //     一个确定如何打开或创建文件的常数。
            //
            // 异常:
            //   T:System.ArgumentException:
            //     path 是一个空字符串 (""),仅包含空格,或者包含一个或多个无效字符。 - 或 - path 指非文件设备,如 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.NotSupportedException:
            //     path 指非文件设备,如非 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.ArgumentNullException:
            //     path 为 null。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.IO.FileNotFoundException:
            //     找不到该文件。例如,当 mode 是 FileMode.Truncate 或 FileMode.Open,并且 path 指定的文件不存在时会出现这种情况。
            //     该文件必须以这些模式存在。
            //
            //   T:System.IO.IOException:
            //     I/O 错误,例如在 path 指定的文件已存在时指定 FileMode.CreateNew,会发生此错误。 - 或 - 已关闭流。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     指定的路径无效,例如位于未映射的驱动器上。
            //
            //   T:System.IO.PathTooLongException:
            //     指定的路径和/或文件名超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须少于 248 个字符,且文件名必须少于 260 个字符。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     mode 包含无效值。
            [SecuritySafeCritical]
            public FileStream(string path, FileMode mode);
            //
            // 摘要:
            //     使用指定的读/写权限为指定的文件句柄初始化 System.IO.FileStream 类的新实例。
            //
            // 参数:
            //   handle:
            //     当前 FileStream 对象将封装的文件的文件句柄。
            //
            //   access:
            //     一个常数,用于设置 FileStream 对象的 System.IO.FileStream.CanRead 和 System.IO.FileStream.CanWrite
            //     属性。
            //
            // 异常:
            //   T:System.ArgumentException:
            //     access 不是 System.IO.FileAccess 的字段。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.IO.IOException:
            //     出现 I/O 错误,例如磁盘错误。 - 或 - 已关闭流。
            //
            //   T:System.UnauthorizedAccessException:
            //     对于指定的文件句柄,操作系统不允许所请求的 access。例如当 access 是 Write 或 ReadWrite,并将文件句柄设置为只读访问时会出现此情况。
            [SecuritySafeCritical]
            public FileStream(SafeFileHandle handle, FileAccess access);
            //
            // 摘要:
            //     使用指定的读/写权限为指定的文件句柄初始化 System.IO.FileStream 类的新实例。
            //
            // 参数:
            //   handle:
            //     当前 FileStream 对象将封装的文件的文件句柄。
            //
            //   access:
            //     一个常数,用于设置 FileStream 对象的 System.IO.FileStream.CanRead 和 System.IO.FileStream.CanWrite
            //     属性。
            //
            // 异常:
            //   T:System.ArgumentException:
            //     access 不是 System.IO.FileAccess 的字段。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.IO.IOException:
            //     出现 I/O 错误,例如磁盘错误。 - 或 - 已关闭流。
            //
            //   T:System.UnauthorizedAccessException:
            //     对于指定的文件句柄,操作系统不允许所请求的 access。例如当 access 是 Write 或 ReadWrite,并将文件句柄设置为只读访问时会出现此情况。
            [Obsolete("This constructor has been deprecated.  Please use new FileStream(SafeFileHandle handle, FileAccess access) instead.  http://go.microsoft.com/fwlink/?linkid=14202")]
            public FileStream(IntPtr handle, FileAccess access);
            //
            // 摘要:
            //     使用指定的路径、创建模式和读/写权限初始化 System.IO.FileStream 类的新实例。
            //
            // 参数:
            //   path:
            //     当前 FileStream 对象将封装的文件的相对路径或绝对路径。
            //
            //   mode:
            //     一个确定如何打开或创建文件的常数。
            //
            //   access:
            //     一个常数,用于确定 FileStream 对象访问文件的方式。 该常数还可以确定由 FileStream 对象的 System.IO.FileStream.CanRead
            //     和 System.IO.FileStream.CanWrite 属性返回的值。 如果 path 指定磁盘文件,则 System.IO.FileStream.CanSeek
            //     为 true。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     path 为 null。
            //
            //   T:System.ArgumentException:
            //     path 是一个空字符串 (""),仅包含空格,或者包含一个或多个无效字符。 - 或 - path 指非文件设备,如 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.NotSupportedException:
            //     path 指非文件设备,如非 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.IO.FileNotFoundException:
            //     找不到该文件。例如,当 mode 是 FileMode.Truncate 或 FileMode.Open,并且 path 指定的文件不存在时会出现这种情况。
            //     该文件必须以这些模式存在。
            //
            //   T:System.IO.IOException:
            //     I/O 错误,例如在 path 指定的文件已存在时指定 FileMode.CreateNew,会发生此错误。 - 或 - 已关闭流。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     指定的路径无效,例如位于未映射的驱动器上。
            //
            //   T:System.UnauthorizedAccessException:
            //     对于指定的 path,操作系统不允许所请求的 access。例如当 access 是 Write 或 ReadWrite,并将文件或目录设置为只读访问时会出现此情况。
            //
            //   T:System.IO.PathTooLongException:
            //     指定的路径和/或文件名超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须少于 248 个字符,且文件名必须少于 260 个字符。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     mode 包含无效值。
            [SecuritySafeCritical]
            public FileStream(string path, FileMode mode, FileAccess access);
            //
            // 摘要:
            //     使用指定的读/写权限和缓冲区大小为指定的文件句柄初始化 System.IO.FileStream 类的新实例。
            //
            // 参数:
            //   handle:
            //     当前 FileStream 对象将封装的文件的文件句柄。
            //
            //   access:
            //     一个 System.IO.FileAccess 常数,它设置 FileStream 对象的 System.IO.FileStream.CanRead 和
            //     System.IO.FileStream.CanWrite 属性。
            //
            //   bufferSize:
            //     一个大于零的正 System.Int32 值,表示缓冲区大小。 默认缓冲区大小为 4096。
            //
            // 异常:
            //   T:System.ArgumentException:
            //     handle 参数是无效的句柄。 - 或 - handle 参数是同步句柄,但被异步使用。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     bufferSize 参数为负。
            //
            //   T:System.IO.IOException:
            //     出现 I/O 错误,例如磁盘错误。 - 或 - 已关闭流。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.UnauthorizedAccessException:
            //     对于指定的文件句柄,操作系统不允许所请求的 access。例如当 access 是 Write 或 ReadWrite,并将文件句柄设置为只读访问时会出现此情况。
            [SecuritySafeCritical]
            public FileStream(SafeFileHandle handle, FileAccess access, int bufferSize);
            //
            // 摘要:
            //     使用指定的读/写权限和 FileStream 实例所属权为指定的文件句柄初始化 System.IO.FileStream 类的新实例。
            //
            // 参数:
            //   handle:
            //     当前 FileStream 对象将封装的文件的文件句柄。
            //
            //   access:
            //     一个常数,用于设置 FileStream 对象的 System.IO.FileStream.CanRead 和 System.IO.FileStream.CanWrite
            //     属性。
            //
            //   ownsHandle:
            //     如果文件句柄将由此 FileStream 实例所有,则为 true;否则为 false。
            //
            // 异常:
            //   T:System.ArgumentException:
            //     access 不是 System.IO.FileAccess 的字段。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.IO.IOException:
            //     出现 I/O 错误,例如磁盘错误。 - 或 - 已关闭流。
            //
            //   T:System.UnauthorizedAccessException:
            //     对于指定的文件句柄,操作系统不允许所请求的 access。例如当 access 是 Write 或 ReadWrite,并将文件句柄设置为只读访问时会出现此情况。
            [Obsolete("This constructor has been deprecated.  Please use new FileStream(SafeFileHandle handle, FileAccess access) instead, and optionally make a new SafeFileHandle with ownsHandle=false if needed.  http://go.microsoft.com/fwlink/?linkid=14202")]
            public FileStream(IntPtr handle, FileAccess access, bool ownsHandle);
            //
            // 摘要:
            //     使用指定的路径、创建模式、读/写权限和共享权限创建 System.IO.FileStream 类的新实例。
            //
            // 参数:
            //   path:
            //     当前 FileStream 对象将封装的文件的相对路径或绝对路径。
            //
            //   mode:
            //     一个确定如何打开或创建文件的常数。
            //
            //   access:
            //     一个常数,用于确定 FileStream 对象访问文件的方式。 该常数还可以确定由 FileStream 对象的 System.IO.FileStream.CanRead
            //     和 System.IO.FileStream.CanWrite 属性返回的值。 如果 path 指定磁盘文件,则 System.IO.FileStream.CanSeek
            //     为 true。
            //
            //   share:
            //     一个常数,确定文件将如何由进程共享。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     path 为 null。
            //
            //   T:System.ArgumentException:
            //     path 是一个空字符串 (""),仅包含空格,或者包含一个或多个无效字符。 - 或 - path 指非文件设备,如 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.NotSupportedException:
            //     path 指非文件设备,如非 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.IO.FileNotFoundException:
            //     找不到该文件。例如,当 mode 是 FileMode.Truncate 或 FileMode.Open,并且 path 指定的文件不存在时会出现这种情况。
            //     该文件必须以这些模式存在。
            //
            //   T:System.IO.IOException:
            //     I/O 错误,例如在 path 指定的文件已存在时指定 FileMode.CreateNew,会发生此错误。 - 或 - 系统正在运行 Windows 98
            //     或 Windows 98 Second Edition,并将 share 设置为 FileShare.Delete。 - 或 - 已关闭流。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     指定的路径无效,例如位于未映射的驱动器上。
            //
            //   T:System.UnauthorizedAccessException:
            //     对于指定的 path,操作系统不允许所请求的 access。例如当 access 是 Write 或 ReadWrite,并将文件或目录设置为只读访问时会出现此情况。
            //
            //   T:System.IO.PathTooLongException:
            //     指定的路径和/或文件名超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须少于 248 个字符,且文件名必须少于 260 个字符。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     mode 包含无效值。
            [SecuritySafeCritical]
            public FileStream(string path, FileMode mode, FileAccess access, FileShare share);
            //
            // 摘要:
            //     使用指定的读/写权限、缓冲区大小和同步或异步状态为指定的文件句柄初始化 System.IO.FileStream 类的新实例。
            //
            // 参数:
            //   handle:
            //     此 FileStream 对象将封装的文件的文件句柄。
            //
            //   access:
            //     一个常数,用于设置 FileStream 对象的 System.IO.FileStream.CanRead 和 System.IO.FileStream.CanWrite
            //     属性。
            //
            //   bufferSize:
            //     一个大于零的正 System.Int32 值,表示缓冲区大小。 默认缓冲区大小为 4096。
            //
            //   isAsync:
            //     如果异步打开句柄(即以重叠的 I/O 模式),则为 true;否则为 false。
            //
            // 异常:
            //   T:System.ArgumentException:
            //     handle 参数是无效的句柄。 - 或 - handle 参数是同步句柄,但被异步使用。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     bufferSize 参数为负。
            //
            //   T:System.IO.IOException:
            //     出现 I/O 错误,例如磁盘错误。 - 或 - 已关闭流。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.UnauthorizedAccessException:
            //     对于指定的文件句柄,操作系统不允许所请求的 access。例如当 access 是 Write 或 ReadWrite,并将文件句柄设置为只读访问时会出现此情况。
            [SecuritySafeCritical]
            public FileStream(SafeFileHandle handle, FileAccess access, int bufferSize, bool isAsync);
            //
            // 摘要:
            //     使用指定的读/写权限、FileStream 实例所属权和缓冲区大小为指定的文件句柄初始化 System.IO.FileStream 类的新实例。
            //
            // 参数:
            //   handle:
            //     此 FileStream 对象将封装的文件的文件句柄。
            //
            //   access:
            //     一个常数,用于设置 FileStream 对象的 System.IO.FileStream.CanRead 和 System.IO.FileStream.CanWrite
            //     属性。
            //
            //   ownsHandle:
            //     如果文件句柄将由此 FileStream 实例所有,则为 true;否则为 false。
            //
            //   bufferSize:
            //     一个大于零的正 System.Int32 值,表示缓冲区大小。 默认缓冲区大小为 4096。
            //
            // 异常:
            //   T:System.ArgumentOutOfRangeException:
            //     bufferSize 为负数。
            //
            //   T:System.IO.IOException:
            //     出现 I/O 错误,例如磁盘错误。 - 或 - 已关闭流。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.UnauthorizedAccessException:
            //     对于指定的文件句柄,操作系统不允许所请求的 access。例如当 access 是 Write 或 ReadWrite,并将文件句柄设置为只读访问时会出现此情况。
            [Obsolete("This constructor has been deprecated.  Please use new FileStream(SafeFileHandle handle, FileAccess access, int bufferSize) instead, and optionally make a new SafeFileHandle with ownsHandle=false if needed.  http://go.microsoft.com/fwlink/?linkid=14202")]
            public FileStream(IntPtr handle, FileAccess access, bool ownsHandle, int bufferSize);
            //
            // 摘要:
            //     使用指定的读/写权限、FileStream 实例所属权、缓冲区大小和同步或异步状态为指定的文件句柄初始化 System.IO.FileStream 类的新实例。
            //
            // 参数:
            //   handle:
            //     此 FileStream 对象将封装的文件的文件句柄。
            //
            //   access:
            //     一个常数,用于设置 FileStream 对象的 System.IO.FileStream.CanRead 和 System.IO.FileStream.CanWrite
            //     属性。
            //
            //   ownsHandle:
            //     如果文件句柄将由此 FileStream 实例所有,则为 true;否则为 false。
            //
            //   bufferSize:
            //     一个大于零的正 System.Int32 值,表示缓冲区大小。 默认缓冲区大小为 4096。
            //
            //   isAsync:
            //     如果异步打开句柄(即以重叠的 I/O 模式),则为 true;否则为 false。
            //
            // 异常:
            //   T:System.ArgumentOutOfRangeException:
            //     access 小于 FileAccess.Read 或大于 FileAccess.ReadWrite,或者 bufferSize 小于等于 0。
            //
            //   T:System.ArgumentException:
            //     该句柄无效。
            //
            //   T:System.IO.IOException:
            //     出现 I/O 错误,例如磁盘错误。 - 或 - 已关闭流。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.UnauthorizedAccessException:
            //     对于指定的文件句柄,操作系统不允许所请求的 access。例如当 access 是 Write 或 ReadWrite,并将文件句柄设置为只读访问时会出现此情况。
            [Obsolete("This constructor has been deprecated.  Please use new FileStream(SafeFileHandle handle, FileAccess access, int bufferSize, bool isAsync) instead, and optionally make a new SafeFileHandle with ownsHandle=false if needed.  http://go.microsoft.com/fwlink/?linkid=14202")]
            [SecuritySafeCritical]
            public FileStream(IntPtr handle, FileAccess access, bool ownsHandle, int bufferSize, bool isAsync);
            //
            // 摘要:
            //     用指定的路径、创建模式、读/写及共享权限和缓冲区大小初始化 System.IO.FileStream 类的新实例。
            //
            // 参数:
            //   path:
            //     当前 FileStream 对象将封装的文件的相对路径或绝对路径。
            //
            //   mode:
            //     一个确定如何打开或创建文件的常数。
            //
            //   access:
            //     一个常数,用于确定 FileStream 对象访问文件的方式。 该常数还可以确定由 FileStream 对象的 System.IO.FileStream.CanRead
            //     和 System.IO.FileStream.CanWrite 属性返回的值。 如果 path 指定磁盘文件,则 System.IO.FileStream.CanSeek
            //     为 true。
            //
            //   share:
            //     一个常数,确定文件将如何由进程共享。
            //
            //   bufferSize:
            //     一个大于零的正 System.Int32 值,表示缓冲区大小。 默认缓冲区大小为 4096。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     path 为 null。
            //
            //   T:System.ArgumentException:
            //     path 是一个空字符串 (""),仅包含空格,或者包含一个或多个无效字符。 - 或 - path 指非文件设备,如 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.NotSupportedException:
            //     path 指非文件设备,如非 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     bufferSize 为负数或零。 - 或 - mode、access 或 share 包含无效的值。
            //
            //   T:System.IO.FileNotFoundException:
            //     找不到该文件。例如,当 mode 是 FileMode.Truncate 或 FileMode.Open,并且 path 指定的文件不存在时会出现这种情况。
            //     该文件必须以这些模式存在。
            //
            //   T:System.IO.IOException:
            //     I/O 错误,例如在 path 指定的文件已存在时指定 FileMode.CreateNew,会发生此错误。 - 或 - 系统正在运行 Windows 98
            //     或 Windows 98 Second Edition,并将 share 设置为 FileShare.Delete。 - 或 - 已关闭流。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     指定的路径无效,例如位于未映射的驱动器上。
            //
            //   T:System.UnauthorizedAccessException:
            //     对于指定的 path,操作系统不允许所请求的 access。例如当 access 是 Write 或 ReadWrite,并将文件或目录设置为只读访问时会出现此情况。
            //
            //   T:System.IO.PathTooLongException:
            //     指定的路径和/或文件名超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须少于 248 个字符,且文件名必须少于 260 个字符。
            [SecuritySafeCritical]
            public FileStream(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize);
            //
            // 摘要:
            //     使用指定的路径、创建模式、读/写和共享权限、缓冲区大小和同步或异步状态初始化 System.IO.FileStream 类的新实例。
            //
            // 参数:
            //   path:
            //     当前 FileStream 对象将封装的文件的相对路径或绝对路径。
            //
            //   mode:
            //     一个确定如何打开或创建文件的常数。
            //
            //   access:
            //     一个常数,用于确定 FileStream 对象访问文件的方式。 该常数还可以确定由 FileStream 对象的 System.IO.FileStream.CanRead
            //     和 System.IO.FileStream.CanWrite 属性返回的值。 如果 path 指定磁盘文件,则 System.IO.FileStream.CanSeek
            //     为 true。
            //
            //   share:
            //     一个常数,确定文件将如何由进程共享。
            //
            //   bufferSize:
            //     一个大于零的正 System.Int32 值,表示缓冲区大小。 默认缓冲区大小为 4096。
            //
            //   useAsync:
            //     指定使用异步 I/O 还是同步 I/O。 但是,请注意,基础操作系统可能不支持异步 I/O,因此在指定 true 后,根据所用平台,句柄可能同步打开。 当异步打开时,System.IO.FileStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)
            //     和 System.IO.FileStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)
            //     方法在执行大量读或写时效果更好,但对于少量的读/写,这些方法速度可能要慢得多。 如果应用程序打算利用异步 I/O,将 useAsync 参数设置为 true。
            //     正确使用异步 I/O 可以使应用程序的速度加快 10 倍,但是如果在没有为异步 I/O 重新设计应用程序的情况下使用异步 I/O,则可能使性能降低 10
            //     倍。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     path 为 null。
            //
            //   T:System.ArgumentException:
            //     path 是一个空字符串 (""),仅包含空格,或者包含一个或多个无效字符。 - 或 - path 指非文件设备,如 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.NotSupportedException:
            //     path 指非文件设备,如非 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     bufferSize 为负数或零。 - 或 - mode、access 或 share 包含无效的值。
            //
            //   T:System.IO.FileNotFoundException:
            //     找不到该文件。例如,当 mode 是 FileMode.Truncate 或 FileMode.Open,并且 path 指定的文件不存在时会出现这种情况。
            //     该文件必须以这些模式存在。
            //
            //   T:System.IO.IOException:
            //     I/O 错误,例如在 path 指定的文件已存在时指定 FileMode.CreateNew,会发生此错误。 - 或 - 系统正在运行 Windows 98
            //     或 Windows 98 Second Edition,并将 share 设置为 FileShare.Delete。 - 或 - 已关闭流。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     指定的路径无效,例如位于未映射的驱动器上。
            //
            //   T:System.UnauthorizedAccessException:
            //     对于指定的 path,操作系统不允许所请求的 access。例如当 access 是 Write 或 ReadWrite,并将文件或目录设置为只读访问时会出现此情况。
            //
            //   T:System.IO.PathTooLongException:
            //     指定的路径和/或文件名超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须少于 248 个字符,且文件名必须少于 260 个字符。
            [SecuritySafeCritical]
            public FileStream(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize, bool useAsync);
            //
            // 摘要:
            //     使用指定的路径、创建模式、读/写和共享权限、其他 FileStreams 可以具有的对此文件的访问权限、缓冲区大小和附加文件选项初始化 System.IO.FileStream
            //     类的新实例。
            //
            // 参数:
            //   path:
            //     当前 FileStream 对象将封装的文件的相对路径或绝对路径。
            //
            //   mode:
            //     一个确定如何打开或创建文件的常数。
            //
            //   access:
            //     一个常数,用于确定 FileStream 对象访问文件的方式。 该常数还可以确定由 FileStream 对象的 System.IO.FileStream.CanRead
            //     和 System.IO.FileStream.CanWrite 属性返回的值。 如果 path 指定磁盘文件,则 System.IO.FileStream.CanSeek
            //     为 true。
            //
            //   share:
            //     一个常数,确定文件将如何由进程共享。
            //
            //   bufferSize:
            //     一个大于零的正 System.Int32 值,表示缓冲区大小。 默认缓冲区大小为 4096。
            //
            //   options:
            //     一个指定附加文件选项的值。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     path 为 null。
            //
            //   T:System.ArgumentException:
            //     path 是一个空字符串 (""),仅包含空格,或者包含一个或多个无效字符。 - 或 - path 指非文件设备,如 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.NotSupportedException:
            //     path 指非文件设备,如非 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     bufferSize 为负数或零。 - 或 - mode、access 或 share 包含无效的值。
            //
            //   T:System.IO.FileNotFoundException:
            //     找不到该文件。例如,当 mode 是 FileMode.Truncate 或 FileMode.Open,并且 path 指定的文件不存在时会出现这种情况。
            //     该文件必须以这些模式存在。
            //
            //   T:System.IO.IOException:
            //     I/O 错误,例如在 path 指定的文件已存在时指定 FileMode.CreateNew,会发生此错误。 - 或 - 已关闭流。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     指定的路径无效,例如位于未映射的驱动器上。
            //
            //   T:System.UnauthorizedAccessException:
            //     对于指定的 path,操作系统不允许所请求的 access。例如当 access 是 Write 或 ReadWrite,并将文件或目录设置为只读访问时会出现此情况。
            //     - 或 - System.IO.FileOptions.Encrypted 指定用于 options,但在当前平台上不支持文件加密。
            //
            //   T:System.IO.PathTooLongException:
            //     指定的路径和/或文件名超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须少于 248 个字符,且文件名必须少于 260 个字符。
            [SecuritySafeCritical]
            public FileStream(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize, FileOptions options);
            //
            // 摘要:
            //     使用指定的路径、创建模式、访问权限和共享权限、缓冲区大小和附加文件选项初始化 System.IO.FileStream 类的新实例。
            //
            // 参数:
            //   path:
            //     当前 System.IO.FileStream 对象将封装的文件的相对路径或绝对路径。
            //
            //   mode:
            //     一个确定如何打开或创建文件的常数。
            //
            //   rights:
            //     一个常数,确定为文件创建访问和审核规则时要使用的访问权。
            //
            //   share:
            //     一个常数,确定文件将如何由进程共享。
            //
            //   bufferSize:
            //     一个大于零的正 System.Int32 值,表示缓冲区大小。 默认缓冲区大小为 4096。
            //
            //   options:
            //     一个指定附加文件选项的常数。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     path 为 null。
            //
            //   T:System.ArgumentException:
            //     path 是一个空字符串 (""),仅包含空格,或者包含一个或多个无效字符。 - 或 - path 指非文件设备,如 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.NotSupportedException:
            //     path 指非文件设备,如非 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     bufferSize 为负数或零。 - 或 - mode、access 或 share 包含无效的值。
            //
            //   T:System.IO.FileNotFoundException:
            //     找不到该文件。例如,当 mode 是 FileMode.Truncate 或 FileMode.Open,并且 path 指定的文件不存在时会出现这种情况。
            //     该文件必须以这些模式存在。
            //
            //   T:System.PlatformNotSupportedException:
            //     当前操作系统不是 Windows NT 或更高版本。
            //
            //   T:System.IO.IOException:
            //     I/O 错误,例如在 path 指定的文件已存在时指定 FileMode.CreateNew,会发生此错误。 - 或 - 已关闭流。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     指定的路径无效,例如位于未映射的驱动器上。
            //
            //   T:System.UnauthorizedAccessException:
            //     对于指定的 path,操作系统不允许所请求的 access。例如当 access 是 Write 或 ReadWrite,并将文件或目录设置为只读访问时会出现此情况。
            //     - 或 - System.IO.FileOptions.Encrypted被指定用于 options,但在当前平台上不支持文件加密。
            //
            //   T:System.IO.PathTooLongException:
            //     指定的 path、文件名或这两者都超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须少于 248 个字符,且文件名必须少于 260
            //     个字符。
            [SecuritySafeCritical]
            public FileStream(string path, FileMode mode, FileSystemRights rights, FileShare share, int bufferSize, FileOptions options);
            //
            // 摘要:
            //     使用指定的路径、创建模式、访问权限和共享权限、缓冲区大小、附加文件选项、访问控制和审核安全初始化 System.IO.FileStream 类的新实例。
            //
            // 参数:
            //   path:
            //     当前 System.IO.FileStream 对象将封装的文件的相对路径或绝对路径。
            //
            //   mode:
            //     一个确定如何打开或创建文件的常数。
            //
            //   rights:
            //     一个常数,确定为文件创建访问和审核规则时要使用的访问权。
            //
            //   share:
            //     一个常数,确定文件将如何由进程共享。
            //
            //   bufferSize:
            //     一个大于零的正 System.Int32 值,表示缓冲区大小。 默认缓冲区大小为 4096。
            //
            //   options:
            //     一个指定附加文件选项的常数。
            //
            //   fileSecurity:
            //     一个常数,确定文件的访问控制和审核安全。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     path 为 null。
            //
            //   T:System.ArgumentException:
            //     path 是一个空字符串 (""),仅包含空格,或者包含一个或多个无效字符。 - 或 - path 指非文件设备,如 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.NotSupportedException:
            //     path 指非文件设备,如非 NTFS 环境中的“con:”、“com1:”、“lpt1:”等。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     bufferSize 为负数或零。 - 或 - mode、access 或 share 包含无效的值。
            //
            //   T:System.IO.FileNotFoundException:
            //     找不到该文件。例如,当 mode 是 FileMode.Truncate 或 FileMode.Open,并且 path 指定的文件不存在时会出现这种情况。
            //     该文件必须以这些模式存在。
            //
            //   T:System.IO.IOException:
            //     I/O 错误,例如在 path 指定的文件已存在时指定 FileMode.CreateNew,会发生此错误。 - 或 - 已关闭流。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     指定的路径无效,例如位于未映射的驱动器上。
            //
            //   T:System.UnauthorizedAccessException:
            //     对于指定的 path,操作系统不允许所请求的 access。例如当 access 是 Write 或 ReadWrite,并将文件或目录设置为只读访问时会出现此情况。
            //     - 或 - System.IO.FileOptions.Encrypted被指定用于 options,但在当前平台上不支持文件加密。
            //
            //   T:System.IO.PathTooLongException:
            //     指定的 path、文件名或这两者都超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须少于 248 个字符,且文件名必须少于 260
            //     个字符。
            //
            //   T:System.PlatformNotSupportedException:
            //     当前操作系统不是 Windows NT 或更高版本。
            [SecuritySafeCritical]
            public FileStream(string path, FileMode mode, FileSystemRights rights, FileShare share, int bufferSize, FileOptions options, FileSecurity fileSecurity);
    
            //
            // 摘要:
            //     确保垃圾回收器回收 FileStream 时释放资源并执行其他清理操作。
            [SecuritySafeCritical]
            ~FileStream();
    
            //
            // 摘要:
            //     获取一个值,该值指示当前流是否支持写入。
            //
            // 返回结果:
            //     如果流支持写入,则为 true;如果流已关闭或是通过只读访问方式打开的,则为 false。
            public override bool CanWrite { get; }
            //
            // 摘要:
            //     获取或设置此流的当前位置。
            //
            // 返回结果:
            //     此流的当前位置。
            //
            // 异常:
            //   T:System.NotSupportedException:
            //     流不支持查找。
            //
            //   T:System.IO.IOException:
            //     出现 I/O 错误。 - 或 - 将位置设置为非常大的值,此值超出 Windows 98 或更早版本中的流的末尾。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     试图将位置设置为负值。
            //
            //   T:System.IO.EndOfStreamException:
            //     试图越过不支持此值的流的末尾进行查找。
            public override long Position { get; set; }
            //
            // 摘要:
            //     获取传递给构造函数的 FileStream 的名称。
            //
            // 返回结果:
            //     一个字符串,它是 FileStream 的名称。
            public string Name { get; }
            //
            // 摘要:
            //     获取用字节表示的流长度。
            //
            // 返回结果:
            //     表示流长度(以字节为单位)的长值。
            //
            // 异常:
            //   T:System.NotSupportedException:
            //     此流的 System.IO.FileStream.CanSeek 为 false。
            //
            //   T:System.IO.IOException:
            //     出现 I/O 错误,例如文件被关闭。
            public override long Length { get; }
            //
            // 摘要:
            //     获取一个值,该值指示 FileStream 是异步还是同步打开的。
            //
            // 返回结果:
            //     如果 FileStream 是异步打开的,则为 true,否则为 false。
            public virtual bool IsAsync { get; }
            //
            // 摘要:
            //     获取一个值,该值指示当前流是否支持查找。
            //
            // 返回结果:
            //     如果流支持查找,则为 true;如果流已关闭或者如果 FileStream 是从操作系统句柄(如管道或到控制台的输出)构造的,则为 false。
            public override bool CanSeek { get; }
            //
            // 摘要:
            //     获取一个值,该值指示当前流是否支持读取。
            //
            // 返回结果:
            //     如果流支持读取,则为 true;如果流已关闭或是通过只写访问方式打开的,则为 false。
            public override bool CanRead { get; }
            //
            // 摘要:
            //     获取 Microsoft.Win32.SafeHandles.SafeFileHandle 对象,它代表当前 System.IO.FileStream 对象所封装的文件的操作系统文件句柄。
            //
            // 返回结果:
            //     一个对象,该对象表示当前 System.IO.FileStream 对象封装的文件的操作系统文件句柄。
            public virtual SafeFileHandle SafeFileHandle { get; }
            //
            // 摘要:
            //     获取当前 FileStream 对象所封装文件的操作系统文件句柄。
            //
            // 返回结果:
            //     此 FileStream 对象所封装文件的操作系统文件句柄;如果 FileStream 已关闭,则为 -1。
            //
            // 异常:
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            [Obsolete("This property has been deprecated.  Please use FileStream's SafeFileHandle property instead.  http://go.microsoft.com/fwlink/?linkid=14202")]
            public virtual IntPtr Handle { get; }
    
            //
            // 摘要:
            //     开始异步读操作。 (考虑使用 System.IO.FileStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)
            //     进行替换;请参见“备注”部分。)
            //
            // 参数:
            //   array:
            //     将数据读入的缓冲区。
            //
            //   offset:
            //     array 中的字节偏移量,从此处开始读取。
            //
            //   numBytes:
            //     最多读取的字节数。
            //
            //   userCallback:
            //     异步读操作完成后调用的方法。
            //
            //   stateObject:
            //     一个用户提供的对象,它将该特定的异步读取请求与其他请求区别开来。
            //
            // 返回结果:
            //     引用异步读取的对象。
            //
            // 异常:
            //   T:System.ArgumentException:
            //     数组长度减去 offset 小于 numBytes。
            //
            //   T:System.ArgumentNullException:
            //     array 为 null。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     offset 或 numBytes 为负数。
            //
            //   T:System.IO.IOException:
            //     尝试在文件的末尾后进行异步读取。
            [SecuritySafeCritical]
            public override IAsyncResult BeginRead(byte[] array, int offset, int numBytes, AsyncCallback userCallback, object stateObject);
            //
            // 摘要:
            //     开始异步写操作。 (考虑使用 System.IO.FileStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)
            //     进行替换;请参见“备注”部分。)
            //
            // 参数:
            //   array:
            //     包含要写入当前流的数据的缓冲区。
            //
            //   offset:
            //     array 中的从零开始的字节偏移量,从此处开始将字节复制到当前流。
            //
            //   numBytes:
            //     最多写入的字节数。
            //
            //   userCallback:
            //     异步写操作完成后调用的方法。
            //
            //   stateObject:
            //     一个用户提供的对象,它将该特定的异步写入请求与其他请求区别开来。
            //
            // 返回结果:
            //     引用异步写入的对象。
            //
            // 异常:
            //   T:System.ArgumentException:
            //     array 长度减去 offset 小于 numBytes。
            //
            //   T:System.ArgumentNullException:
            //     array 为 null。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     offset 或 numBytes 为负数。
            //
            //   T:System.NotSupportedException:
            //     流不支持写入。
            //
            //   T:System.ObjectDisposedException:
            //     流已关闭。
            //
            //   T:System.IO.IOException:
            //     出现 I/O 错误。
            [SecuritySafeCritical]
            public override IAsyncResult BeginWrite(byte[] array, int offset, int numBytes, AsyncCallback userCallback, object stateObject);
            //
            // 摘要:
            //     等待挂起的异步读操作完成。 (考虑使用 System.IO.FileStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)
            //     进行替换;请参见“备注”部分。)
            //
            // 参数:
            //   asyncResult:
            //     对所等待的挂起异步请求的引用。
            //
            // 返回结果:
            //     从流中读取的字节数,介于 0 和所请求的字节数之间。 流仅在流结尾返回 0,否则在至少有 1 个字节可用之前应一直进行阻止。。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     asyncResult 为 null。
            //
            //   T:System.ArgumentException:
            //     此 System.IAsyncResult 对象不是通过对该类调用 System.IO.FileStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)
            //     来创建的。
            //
            //   T:System.InvalidOperationException:
            //     多次调用了 System.IO.FileStream.EndRead(System.IAsyncResult)。
            //
            //   T:System.IO.IOException:
            //     流已关闭或出现了内部错误。
            [SecuritySafeCritical]
            public override int EndRead(IAsyncResult asyncResult);
            //
            // 摘要:
            //     结束异步写入操作,在 I/O 操作完成之前一直阻止。 (考虑使用 System.IO.FileStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)
            //     进行替换;请参见“备注”部分。)
            //
            // 参数:
            //   asyncResult:
            //     挂起的异步 I/O 请求。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     asyncResult 为 null。
            //
            //   T:System.ArgumentException:
            //     此 System.IAsyncResult 对象不是通过对该类调用 System.IO.Stream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)
            //     来创建的。
            //
            //   T:System.InvalidOperationException:
            //     多次调用了 System.IO.FileStream.EndWrite(System.IAsyncResult)。
            //
            //   T:System.IO.IOException:
            //     流已关闭或出现了内部错误。
            [SecuritySafeCritical]
            public override void EndWrite(IAsyncResult asyncResult);
            //
            // 摘要:
            //     清除此流的缓冲区,使得所有缓冲数据都写入到文件中。
            //
            // 异常:
            //   T:System.IO.IOException:
            //     出现 I/O 错误。
            //
            //   T:System.ObjectDisposedException:
            //     流已关闭。
            public override void Flush();
            //
            // 摘要:
            //     清除此流的缓冲区,将所有缓冲数据都写入到文件中,并且也清除所有中间文件缓冲区。
            //
            // 参数:
            //   flushToDisk:
            //     如果刷新所有中间文件缓冲区,则为 true;否则为 false。
            [SecuritySafeCritical]
            public virtual void Flush(bool flushToDisk);
            //
            // 摘要:
            //     异步清理这个流的所有缓冲区,并使所有缓冲数据写入基础设备,并且监控取消请求。
            //
            // 参数:
            //   cancellationToken:
            //     要监视取消请求的标记。
            //
            // 返回结果:
            //     表示异步刷新操作的任务。
            //
            // 异常:
            //   T:System.ObjectDisposedException:
            //     已释放流。
            [ComVisible(false)]
            [SecuritySafeCritical]
            public override Task FlushAsync(CancellationToken cancellationToken);
            //
            // 摘要:
            //     获取 System.Security.AccessControl.FileSecurity 对象,该对象封装当前 System.IO.FileStream
            //     对象所描述的文件的访问控制列表 (ACL) 项。
            //
            // 返回结果:
            //     一个对象,该对象封装当前 System.IO.FileStream 对象所描述的文件的访问控制设置。
            //
            // 异常:
            //   T:System.ObjectDisposedException:
            //     文件关闭。
            //
            //   T:System.IO.IOException:
            //     打开文件时发生 I/O 错误。
            //
            //   T:System.SystemException:
            //     找不到文件。
            //
            //   T:System.UnauthorizedAccessException:
            //     当前平台不支持此操作。 - 或 - 调用方没有所要求的权限。
            [SecuritySafeCritical]
            public FileSecurity GetAccessControl();
            //
            // 摘要:
            //     防止其他进程读取或写入 System.IO.FileStream。
            //
            // 参数:
            //   position:
            //     要锁定的范围的起始处。 此参数的值必须大于或等于零 (0)。
            //
            //   length:
            //     要锁定的范围。
            //
            // 异常:
            //   T:System.ArgumentOutOfRangeException:
            //     position 或 length 为负数。
            //
            //   T:System.ObjectDisposedException:
            //     文件关闭。
            //
            //   T:System.IO.IOException:
            //     另一个进程已锁定了文件的一部分,因此进程无法访问该文件。
            [SecuritySafeCritical]
            public virtual void Lock(long position, long length);
            //
            // 摘要:
            //     从流中读取字节块并将该数据写入给定缓冲区中。
            //
            // 参数:
            //   array:
            //     此方法返回时包含指定的字节数组,数组中 offset 和 (offset + count - 1) 之间的值由从当前源中读取的字节替换。
            //
            //   offset:
            //     array 中的字节偏移量,将在此处放置读取的字节。
            //
            //   count:
            //     最多读取的字节数。
            //
            // 返回结果:
            //     读入缓冲区中的总字节数。 如果字节数当前不可用,则总字节数可能小于所请求的字节数;如果已到达流结尾,则为零。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     array 为 null。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     offset 或 count 为负数。
            //
            //   T:System.NotSupportedException:
            //     流不支持读取。
            //
            //   T:System.IO.IOException:
            //     出现 I/O 错误。
            //
            //   T:System.ArgumentException:
            //     offset 和 count 描述 array 中的无效范围。
            //
            //   T:System.ObjectDisposedException:
            //     在流关闭后调用方法。
            [SecuritySafeCritical]
            public override int Read(byte[] array, int offset, int count);
            //
            // 摘要:
            //     从当前流异步读取字节的序列,将流中的位置提升读取的字节数,并监视取消请求。
            //
            // 参数:
            //   buffer:
            //     数据写入的缓冲区。
            //
            //   offset:
            //     buffer 中的字节偏移量,从该偏移量开始写入从流中读取的数据。
            //
            //   count:
            //     最多读取的字节数。
            //
            //   cancellationToken:
            //     要监视取消请求的标记。
            //
            // 返回结果:
            //     表示异步读取操作的任务。 TResult 参数的值包含读入缓冲区的总字节数。 如果当前可用字节数少于所请求的字节数,则该结果值可小于所请求的字节数;如果已到达流结尾时,则为
            //     0(零)。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     buffer 为 null。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     offset 或 count 为负数。
            //
            //   T:System.ArgumentException:
            //     offset 和 count 的总和大于缓冲区长度。
            //
            //   T:System.NotSupportedException:
            //     流不支持读取。
            //
            //   T:System.ObjectDisposedException:
            //     已释放流。
            //
            //   T:System.InvalidOperationException:
            //     之前的读取操作当前正在使用流。
            [ComVisible(false)]
            [SecuritySafeCritical]
            public override Task<int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken);
            //
            // 摘要:
            //     从文件中读取一个字节,并将读取位置提升一个字节。
            //
            // 返回结果:
            //     强制转换为 System.Int32 的字节;或者如果已到达流的末尾,则为 -1。
            //
            // 异常:
            //   T:System.NotSupportedException:
            //     当前流不支持读取。
            //
            //   T:System.ObjectDisposedException:
            //     当前流已关闭。
            [SecuritySafeCritical]
            public override int ReadByte();
            //
            // 摘要:
            //     将该流的当前位置设置为给定值。
            //
            // 参数:
            //   offset:
            //     相对于 origin 的点,从此处开始查找。
            //
            //   origin:
            //     使用 System.IO.SeekOrigin 类型的值,将开始位置、结束位置或当前位置指定为 offset 的参考点。
            //
            // 返回结果:
            //     流中的新位置。
            //
            // 异常:
            //   T:System.IO.IOException:
            //     出现 I/O 错误。
            //
            //   T:System.NotSupportedException:
            //     该流不支持查找,例如如果 FileStream 是从管道或控制台输出构造的,则不支持查找。
            //
            //   T:System.ArgumentException:
            //     试图在流的开始位置之前进行查找。
            //
            //   T:System.ObjectDisposedException:
            //     在流关闭后调用方法。
            [SecuritySafeCritical]
            public override long Seek(long offset, SeekOrigin origin);
            //
            // 摘要:
            //     将 System.Security.AccessControl.FileSecurity 对象所描述的访问控制列表 (ACL) 项应用于当前 System.IO.FileStream
            //     对象所描述的文件。
            //
            // 参数:
            //   fileSecurity:
            //     描述要应用于当前文件的 ACL 项的对象。
            //
            // 异常:
            //   T:System.ObjectDisposedException:
            //     文件关闭。
            //
            //   T:System.ArgumentNullException:
            //     fileSecurity 参数为 null。
            //
            //   T:System.SystemException:
            //     未能找到或修改该文件。
            //
            //   T:System.UnauthorizedAccessException:
            //     当前进程不具有打开该文件的权限。
            [SecuritySafeCritical]
            public void SetAccessControl(FileSecurity fileSecurity);
            //
            // 摘要:
            //     将该流的长度设置为给定值。
            //
            // 参数:
            //   value:
            //     流的新长度。
            //
            // 异常:
            //   T:System.IO.IOException:
            //     发生了 I/O 错误。
            //
            //   T:System.NotSupportedException:
            //     该流不支持写入和查找。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     试图将 value 参数设置为小于 0。
            [SecuritySafeCritical]
            public override void SetLength(long value);
            //
            // 摘要:
            //     允许其他进程访问以前锁定的某个文件的全部或部分。
            //
            // 参数:
            //   position:
            //     要取消锁定的范围的开始处。
            //
            //   length:
            //     要取消锁定的范围。
            //
            // 异常:
            //   T:System.ArgumentOutOfRangeException:
            //     position 或 length 为负。
            [SecuritySafeCritical]
            public virtual void Unlock(long position, long length);
            //
            // 摘要:
            //     将字节块写入文件流。
            //
            // 参数:
            //   array:
            //     包含要写入该流的数据的缓冲区。
            //
            //   offset:
            //     array 中的从零开始的字节偏移量,从此处开始将字节复制到该流。
            //
            //   count:
            //     最多写入的字节数。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     array 为 null。
            //
            //   T:System.ArgumentException:
            //     offset 和 count 描述 array 中的无效范围。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     offset 或 count 为负数。
            //
            //   T:System.IO.IOException:
            //     出现 I/O 错误。 - 或 - 另一个线程可能导致操作系统的文件句柄的位置发生意外更改。
            //
            //   T:System.ObjectDisposedException:
            //     流已关闭。
            //
            //   T:System.NotSupportedException:
            //     当前的流实例不支持写入。
            [SecuritySafeCritical]
            public override void Write(byte[] array, int offset, int count);
            //
            // 摘要:
            //     将字节的序列异步写入当前流,将该流中的当前位置向前移动写入的字节数,并监视取消请求。
            //
            // 参数:
            //   buffer:
            //     从中写入数据的缓冲区。
            //
            //   offset:
            //     buffer 中的从零开始的字节偏移量,从此处开始将字节复制到该流。
            //
            //   count:
            //     最多写入的字节数。
            //
            //   cancellationToken:
            //     要监视取消请求的标记。
            //
            // 返回结果:
            //     表示异步写入操作的任务。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     buffer 为 null。
            //
            //   T:System.ArgumentOutOfRangeException:
            //     offset 或 count 为负数。
            //
            //   T:System.ArgumentException:
            //     offset 和 count 的总和大于缓冲区长度。
            //
            //   T:System.NotSupportedException:
            //     流不支持写入。
            //
            //   T:System.ObjectDisposedException:
            //     已释放流。
            //
            //   T:System.InvalidOperationException:
            //     流正在由前一次写操作使用。
            [ComVisible(false)]
            [SecuritySafeCritical]
            public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken);
            //
            // 摘要:
            //     一个字节写入文件流中的当前位置。
            //
            // 参数:
            //   value:
            //     要写入流的字节。
            //
            // 异常:
            //   T:System.ObjectDisposedException:
            //     流已关闭。
            //
            //   T:System.NotSupportedException:
            //     流不支持写入。
            [SecuritySafeCritical]
            public override void WriteByte(byte value);
            //
            // 摘要:
            //     释放由 System.IO.FileStream 占用的非托管资源,还可以另外再释放托管资源。
            //
            // 参数:
            //   disposing:
            //     若要释放托管资源和非托管资源,则为 true;若仅释放非托管资源,则为 false。
            [SecuritySafeCritical]
            protected override void Dispose(bool disposing);
        }
    }
    2、
    2.返回顶部
     
    3.返回顶部
     
    4.返回顶部
     
    5.返回顶部
     
     
    6.返回顶部
     
    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    ajax技术
    JSDOM获取子节点的一些方法
    防止a标签跳转的几种方法
    关于childNodes和children
    三种预览图片的方法
    异步加载js文件的方法
    跨域访问的解决方案
    关于在JS中设置标签属性
    Eclipse导入web项目发布项目时报Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web错误解决方案
    Maven构建项目报No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? 问题的解决方案
  • 原文地址:https://www.cnblogs.com/storebook/p/12577877.html
Copyright © 2020-2023  润新知