zoukankan      html  css  js  c++  java
  • System.IO.FileInfo.cs

    ylbtech-System.IO.FileInfo.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;
    
    namespace System.IO
    {
        //
        // 摘要:
        //     提供用于创建、复制、删除、移动和打开文件的属性和实例方法,并且帮助创建 System.IO.FileStream 对象。 此类不能被继承。 若要浏览此类型的.NET
        //     Framework 源代码,请参阅 Reference Source。
        [ComVisible(true)]
        public sealed class FileInfo : FileSystemInfo
        {
            //
            // 摘要:
            //     初始化作为文件路径的包装的 System.IO.FileInfo 类的新实例。
            //
            // 参数:
            //   fileName:
            //     新文件的完全限定名或相对文件名。 路径不要以目录分隔符结尾。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     fileName 为 null。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.ArgumentException:
            //     文件名为空,仅包含空格,或包含无效字符。
            //
            //   T:System.UnauthorizedAccessException:
            //     访问 fileName 被拒绝。
            //
            //   T:System.IO.PathTooLongException:
            //     指定的路径和/或文件名超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须少于 248 个字符,且文件名必须少于 260 个字符。
            //
            //   T:System.NotSupportedException:
            //     fileName 在字符串中间包含一个冒号 (:)。
            [SecuritySafeCritical]
            public FileInfo(string fileName);
    
            //
            // 摘要:
            //     获取父目录的实例。
            //
            // 返回结果:
            //     表示此文件父目录的 System.IO.DirectoryInfo 对象。
            //
            // 异常:
            //   T:System.IO.DirectoryNotFoundException:
            //     指定的路径无效,例如位于未映射的驱动器上。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            public DirectoryInfo Directory { get; }
            //
            // 摘要:
            //     获取表示目录的完整路径的字符串。
            //
            // 返回结果:
            //     表示目录的完整路径的字符串。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     为目录名传入 null。
            //
            //   T:System.IO.PathTooLongException:
            //     完全限定路径为 260 或更多字符。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            public string DirectoryName { get; }
            //
            // 摘要:
            //     获取当前文件的大小(以字节为单位)。
            //
            // 返回结果:
            //     当前文件的大小(以字节为单位)。
            //
            // 异常:
            //   T:System.IO.IOException:
            //     System.IO.FileSystemInfo.Refresh 无法更新文件或目录的状态。
            //
            //   T:System.IO.FileNotFoundException:
            //     文件不存在。 - 或 - 针对某个目录调用了 Length 属性。
            public long Length { get; }
            //
            // 摘要:
            //     获取文件名。
            //
            // 返回结果:
            //     文件的名称。
            public override string Name { get; }
            //
            // 摘要:
            //     获取或设置确定当前文件是否为只读的值。
            //
            // 返回结果:
            //     如果当前文件为只读,则为 true;否则为 false。
            //
            // 异常:
            //   T:System.IO.FileNotFoundException:
            //     找不到当前 System.IO.FileInfo 对象描述的文件。
            //
            //   T:System.IO.IOException:
            //     打开文件时发生 I/O 错误。
            //
            //   T:System.UnauthorizedAccessException:
            //     当前平台不支持此操作。 - 或 - 调用方没有所要求的权限。
            //
            //   T:System.ArgumentException:
            //     此用户没有写入权限,但尝试将此属性设置为 false。
            public bool IsReadOnly { get; set; }
            //
            // 摘要:
            //     获取指示文件是否存在的值。
            //
            // 返回结果:
            //     如果该文件存在,则为 true;如果文件不存在或文件即是目录,则为 false。
            public override bool Exists { get; }
    
            //
            // 摘要:
            //     创建一个 System.IO.StreamWriter,它向 System.IO.FileInfo 的此实例表示的文件追加文本。
            //
            // 返回结果:
            //     一个新的 StreamWriter。
            public StreamWriter AppendText();
            //
            // 摘要:
            //     将现有文件复制到新文件,不允许覆盖现有文件。
            //
            // 参数:
            //   destFileName:
            //     要复制到的新文件的名称。
            //
            // 返回结果:
            //     带有完全限定路径的新文件。
            //
            // 异常:
            //   T:System.ArgumentException:
            //     destFileName 为空,仅包含空格,或包含无效字符。
            //
            //   T:System.IO.IOException:
            //     出现错误,或目标文件已存在。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.ArgumentNullException:
            //     destFileName 为 null。
            //
            //   T:System.UnauthorizedAccessException:
            //     传入一个目录路径或此文件将被移至其他驱动器。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     在 destFileName 中指定的此目录不存在。
            //
            //   T:System.IO.PathTooLongException:
            //     指定的路径和/或文件名超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须少于 248 个字符,且文件名必须少于 260 个字符。
            //
            //   T:System.NotSupportedException:
            //     destFileName 在其字符串中包含冒号 (:) ,但并未指定卷。
            public FileInfo CopyTo(string destFileName);
            //
            // 摘要:
            //     将现有文件复制到新文件,允许覆盖现有文件。
            //
            // 参数:
            //   destFileName:
            //     要复制到的新文件的名称。
            //
            //   overwrite:
            //     如果允许覆盖现有文件,则为 true;否则为 false。
            //
            // 返回结果:
            //     为新文件;如果 overwrite 是 true,则为现有文件的覆盖。 如果文件存在且 overwrite 为 false,则引发 System.IO.IOException。
            //
            // 异常:
            //   T:System.ArgumentException:
            //     destFileName 为空,仅包含空格,或包含无效字符。
            //
            //   T:System.IO.IOException:
            //     出现错误,或目标文件已存在,且 overwrite 为 false。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.ArgumentNullException:
            //     destFileName 为 null。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     在 destFileName 中指定的此目录不存在。
            //
            //   T:System.UnauthorizedAccessException:
            //     传入一个目录路径或此文件将被移至其他驱动器。
            //
            //   T:System.IO.PathTooLongException:
            //     指定的路径和/或文件名超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须少于 248 个字符,且文件名必须少于 260 个字符。
            //
            //   T:System.NotSupportedException:
            //     destFileName 在字符串中间包含一个冒号 (:)。
            public FileInfo CopyTo(string destFileName, bool overwrite);
            //
            // 摘要:
            //     创建文件。
            //
            // 返回结果:
            //     新文件。
            public FileStream Create();
            //
            // 摘要:
            //     创建写入新文本文件的 System.IO.StreamWriter。
            //
            // 返回结果:
            //     一个新的 StreamWriter。
            //
            // 异常:
            //   T:System.UnauthorizedAccessException:
            //     文件名是目录。
            //
            //   T:System.IO.IOException:
            //     此盘为只读。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            public StreamWriter CreateText();
            //
            // 摘要:
            //     使用 System.IO.FileInfo.Encrypt 方法解密由当前帐户加密的文件。
            //
            // 异常:
            //   T:System.IO.DriveNotFoundException:
            //     指定了无效的驱动器。
            //
            //   T:System.IO.FileNotFoundException:
            //     找不到当前 System.IO.FileInfo 对象描述的文件。
            //
            //   T:System.IO.IOException:
            //     打开文件时发生 I/O 错误。
            //
            //   T:System.NotSupportedException:
            //     文件系统不是 NTFS。
            //
            //   T:System.PlatformNotSupportedException:
            //     当前操作系统不是 Microsoft Windows NT 或更高版本。
            //
            //   T:System.UnauthorizedAccessException:
            //     当前 System.IO.FileInfo 对象描述的文件为只读文件。 - 或 - 当前平台不支持此操作。 - 或 - 调用方没有所要求的权限。
            [ComVisible(false)]
            public void Decrypt();
            //
            // 摘要:
            //     永久删除文件。
            //
            // 异常:
            //   T:System.IO.IOException:
            //     目标文件打开或在运行 Microsoft Windows NT 的计算机上进行内存映射。 - 或 - 在文件中存在开放句柄,并且操作系统是 Windows
            //     XP 或更早的版本。 枚举目录和文件可能会导致此开放句柄出现。 有关详细信息,请参阅如何:枚举目录和文件。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.UnauthorizedAccessException:
            //     路径是一个目录。
            [SecuritySafeCritical]
            public override void Delete();
            //
            // 摘要:
            //     将某个文件加密,使得只有加密该文件的帐户才能将其解密。
            //
            // 异常:
            //   T:System.IO.DriveNotFoundException:
            //     指定了无效的驱动器。
            //
            //   T:System.IO.FileNotFoundException:
            //     找不到当前 System.IO.FileInfo 对象描述的文件。
            //
            //   T:System.IO.IOException:
            //     打开文件时发生 I/O 错误。
            //
            //   T:System.NotSupportedException:
            //     文件系统不是 NTFS。
            //
            //   T:System.PlatformNotSupportedException:
            //     当前操作系统不是 Microsoft Windows NT 或更高版本。
            //
            //   T:System.UnauthorizedAccessException:
            //     当前 System.IO.FileInfo 对象描述的文件为只读文件。 - 或 - 当前平台不支持此操作。 - 或 - 调用方没有所要求的权限。
            [ComVisible(false)]
            public void Encrypt();
            //
            // 摘要:
            //     获取 System.Security.AccessControl.FileSecurity 对象,该对象封装当前 System.IO.FileInfo 对象所描述的文件的访问控制列表
            //     (ACL) 项。
            //
            // 返回结果:
            //     一个 System.Security.AccessControl.FileSecurity 对象,该对象封装当前文件的访问控制规则。
            //
            // 异常:
            //   T:System.IO.IOException:
            //     打开文件时发生 I/O 错误。
            //
            //   T:System.PlatformNotSupportedException:
            //     当前操作系统不是 Microsoft Windows 2000 或更高版本。
            //
            //   T:System.Security.AccessControl.PrivilegeNotHeldException:
            //     当前的系统帐户没有管理权限。
            //
            //   T:System.SystemException:
            //     找不到文件。
            //
            //   T:System.UnauthorizedAccessException:
            //     当前平台不支持此操作。 - 或 - 调用方没有所要求的权限。
            public FileSecurity GetAccessControl();
            //
            // 摘要:
            //     获取一个 System.Security.AccessControl.FileSecurity 对象,该对象封装当前 System.IO.FileInfo
            //     对象所描述的文件的指定类型的访问控制列表 (ACL) 项。
            //
            // 参数:
            //   includeSections:
            //     System.Security.AccessControl.AccessControlSections 值之一,该值指定要检索的访问控制项组。
            //
            // 返回结果:
            //     一个 System.Security.AccessControl.FileSecurity 对象,该对象封装当前文件的访问控制规则。
            //
            // 异常:
            //   T:System.IO.IOException:
            //     打开文件时发生 I/O 错误。
            //
            //   T:System.PlatformNotSupportedException:
            //     当前操作系统不是 Microsoft Windows 2000 或更高版本。
            //
            //   T:System.Security.AccessControl.PrivilegeNotHeldException:
            //     当前的系统帐户没有管理权限。
            //
            //   T:System.SystemException:
            //     找不到文件。
            //
            //   T:System.UnauthorizedAccessException:
            //     当前平台不支持此操作。 - 或 - 调用方没有所要求的权限。
            public FileSecurity GetAccessControl(AccessControlSections includeSections);
            //
            // 摘要:
            //     将指定文件移到新位置,提供要指定新文件名的选项。
            //
            // 参数:
            //   destFileName:
            //     要将文件移动到的路径,可以指定另一个文件名。
            //
            // 异常:
            //   T:System.IO.IOException:
            //     发生 I/O 错误,例如目标文件已存在或目标设备未就绪。
            //
            //   T:System.ArgumentNullException:
            //     destFileName 为 null。
            //
            //   T:System.ArgumentException:
            //     destFileName 为空,仅包含空格,或包含无效字符。
            //
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.UnauthorizedAccessException:
            //     destFileName 为只读或是目录。
            //
            //   T:System.IO.FileNotFoundException:
            //     未找到此文件。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     指定的路径无效,例如位于未映射的驱动器上。
            //
            //   T:System.IO.PathTooLongException:
            //     指定的路径和/或文件名超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须少于 248 个字符,且文件名必须少于 260 个字符。
            //
            //   T:System.NotSupportedException:
            //     destFileName 在字符串中间包含一个冒号 (:)。
            [SecuritySafeCritical]
            public void MoveTo(string destFileName);
            //
            // 摘要:
            //     在指定的模式中打开文件。
            //
            // 参数:
            //   mode:
            //     一个 System.IO.FileMode 常数,它指定打开文件所采用的模式(例如 Open 或 Append)。
            //
            // 返回结果:
            //     在指定模式中打开、具有读/写访问权限且不共享的文件。
            //
            // 异常:
            //   T:System.IO.FileNotFoundException:
            //     未找到此文件。
            //
            //   T:System.UnauthorizedAccessException:
            //     文件为只读或是目录。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     指定的路径无效,例如位于未映射的驱动器上。
            //
            //   T:System.IO.IOException:
            //     此文件已打开。
            public FileStream Open(FileMode mode);
            //
            // 摘要:
            //     用读、写或读/写访问权限和指定的共享选项在指定的模式中打开文件。
            //
            // 参数:
            //   mode:
            //     一个 System.IO.FileMode 常数,它指定打开文件所采用的模式(例如 Open 或 Append)。
            //
            //   access:
            //     一个 System.IO.FileAccess 常数,它指定是使用 Read、Write 还是 ReadWrite 文件访问来打开文件。
            //
            //   share:
            //     一个 System.IO.FileShare 常数,它指定其他 FileStream 对象对此文件拥有的访问类型。
            //
            // 返回结果:
            //     用指定的模式、访问权限和共享选项打开的 System.IO.FileStream 对象。
            //
            // 异常:
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.IO.FileNotFoundException:
            //     未找到此文件。
            //
            //   T:System.UnauthorizedAccessException:
            //     path 为只读或是目录。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     指定的路径无效,例如位于未映射的驱动器上。
            //
            //   T:System.IO.IOException:
            //     此文件已打开。
            public FileStream Open(FileMode mode, FileAccess access, FileShare share);
            //
            // 摘要:
            //     用读、写或读/写访问权限在指定模式下打开文件。
            //
            // 参数:
            //   mode:
            //     一个 System.IO.FileMode 常数,它指定打开文件所采用的模式(例如 Open 或 Append)。
            //
            //   access:
            //     一个 System.IO.FileAccess 常数,它指定是使用 Read、Write 还是 ReadWrite 文件访问来打开文件。
            //
            // 返回结果:
            //     用指定模式和访问权限打开的且不共享的 System.IO.FileStream 对象。
            //
            // 异常:
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.IO.FileNotFoundException:
            //     未找到此文件。
            //
            //   T:System.UnauthorizedAccessException:
            //     path 为只读或是目录。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     指定的路径无效,例如位于未映射的驱动器上。
            //
            //   T:System.IO.IOException:
            //     此文件已打开。
            public FileStream Open(FileMode mode, FileAccess access);
            //
            // 摘要:
            //     创建一个只读的 System.IO.FileStream。
            //
            // 返回结果:
            //     一个新的只读的 System.IO.FileStream 对象。
            //
            // 异常:
            //   T:System.UnauthorizedAccessException:
            //     path 为只读或是目录。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     指定的路径无效,例如位于未映射的驱动器上。
            //
            //   T:System.IO.IOException:
            //     此文件已打开。
            public FileStream OpenRead();
            //
            // 摘要:
            //     创建使用从现有文本文件中读取的 UTF8 编码的 System.IO.StreamReader。
            //
            // 返回结果:
            //     使用 UTF8 编码的新的 StreamReader。
            //
            // 异常:
            //   T:System.Security.SecurityException:
            //     调用方没有所要求的权限。
            //
            //   T:System.IO.FileNotFoundException:
            //     未找到此文件。
            //
            //   T:System.UnauthorizedAccessException:
            //     path 为只读或是目录。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     指定的路径无效,例如位于未映射的驱动器上。
            [SecuritySafeCritical]
            public StreamReader OpenText();
            //
            // 摘要:
            //     创建一个只写的 System.IO.FileStream。
            //
            // 返回结果:
            //     新的或现有文件的只写非共享的 System.IO.FileStream 对象。
            //
            // 异常:
            //   T:System.UnauthorizedAccessException:
            //     创建 System.IO.FileInfo 对象的实例时指定的路径为只读或是目录。
            //
            //   T:System.IO.DirectoryNotFoundException:
            //     创建 System.IO.FileInfo 对象的实例时指定的路径无效,例如此路径位于未映射的驱动器。
            public FileStream OpenWrite();
            //
            // 摘要:
            //     使用当前 System.IO.FileInfo 对象所描述的文件替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份。
            //
            // 参数:
            //   destinationFileName:
            //     要替换为当前文件的文件的名称。
            //
            //   destinationBackupFileName:
            //     文件的名称,该文件用于创建 destFileName 参数所描述的文件的备份。
            //
            // 返回结果:
            //     一个 System.IO.FileInfo 对象,该对象封装有关 destFileName 参数所描述的文件的信息。
            //
            // 异常:
            //   T:System.ArgumentException:
            //     destFileName 参数描述的路径格式不合法。 - 或 - destBackupFileName 参数描述的路径格式不合法。
            //
            //   T:System.ArgumentNullException:
            //     destFileName 参数为 null。
            //
            //   T:System.IO.FileNotFoundException:
            //     找不到当前 System.IO.FileInfo 对象描述的文件。 - 或 - 找不到 destinationFileName 参数描述的文件。
            //
            //   T:System.PlatformNotSupportedException:
            //     当前操作系统不是 Microsoft Windows NT 或更高版本。
            [ComVisible(false)]
            public FileInfo Replace(string destinationFileName, string destinationBackupFileName);
            //
            // 摘要:
            //     使用当前 System.IO.FileInfo 对象所描述的文件替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份。 还指定是否忽略合并错误。
            //
            // 参数:
            //   destinationFileName:
            //     要替换为当前文件的文件的名称。
            //
            //   destinationBackupFileName:
            //     文件的名称,该文件用于创建 destFileName 参数所描述的文件的备份。
            //
            //   ignoreMetadataErrors:
            //     若要忽略从被替换文件到替换文件的合并错误(例如特性和 ACL),请设置为 true;否则设置为 false。
            //
            // 返回结果:
            //     一个 System.IO.FileInfo 对象,该对象封装有关 destFileName 参数所描述的文件的信息。
            //
            // 异常:
            //   T:System.ArgumentException:
            //     destFileName 参数描述的路径格式不合法。 - 或 - destBackupFileName 参数描述的路径格式不合法。
            //
            //   T:System.ArgumentNullException:
            //     destFileName 参数为 null。
            //
            //   T:System.IO.FileNotFoundException:
            //     找不到当前 System.IO.FileInfo 对象描述的文件。 - 或 - 找不到 destinationFileName 参数描述的文件。
            //
            //   T:System.PlatformNotSupportedException:
            //     当前操作系统不是 Microsoft Windows NT 或更高版本。
            [ComVisible(false)]
            public FileInfo Replace(string destinationFileName, string destinationBackupFileName, bool ignoreMetadataErrors);
            //
            // 摘要:
            //     将 System.Security.AccessControl.FileSecurity 对象所描述的访问控制列表 (ACL) 项应用于当前 System.IO.FileInfo
            //     对象所描述的文件。
            //
            // 参数:
            //   fileSecurity:
            //     一个 System.Security.AccessControl.FileSecurity 对象,该对象描述要应用于当前文件的访问控制列表 (ACL) 项。
            //
            // 异常:
            //   T:System.ArgumentNullException:
            //     fileSecurity 参数为 null。
            //
            //   T:System.SystemException:
            //     未能找到或修改该文件。
            //
            //   T:System.UnauthorizedAccessException:
            //     当前进程不具有打开该文件的权限。
            //
            //   T:System.PlatformNotSupportedException:
            //     当前操作系统不是 Microsoft Windows 2000 或更高版本。
            public void SetAccessControl(FileSecurity fileSecurity);
            //
            // 摘要:
            //     以字符串形式返回路径。
            //
            // 返回结果:
            //     一个表示该路径的字符串。
            public override string ToString();
        }
    }
    2、
    2.返回顶部
     
    3.返回顶部
     
    4.返回顶部
     
    5.返回顶部
     
     
    6.返回顶部
     
    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    [转]权限管理模型
    如何解决 “invalid resource directory name”, resource “crunch”
    Oracle ERP Interface堵住--Request Running too long time,查找Request执行的Sql
    【转】令人印象深刻的廣告詞
    【异常】SQL Server blocked access to STATEMENT OpenRowset/OpenDatasource
    你是喜欢一个人本身,还是
    关于Oracle 的安装记(不定期更新)
    kafka
    mysql去除换行和空格
    mysql 字段值拼接,同一字段循环拼接
  • 原文地址:https://www.cnblogs.com/storebook/p/12578186.html
Copyright © 2011-2022 走看看