Path.GetInvalidPathChars或Path.GetInvalidFileNameChars方法,可以根据它来判断路径中是否包含非法字符
Directory.Exists或File.Exist方法
Path.GetDirectoryName 方法:返回指定路径字符串的目录信息;
Path.GetExtension方法 : 返回指定的路径字符串的扩展名;
Path.GetFileName方法 : 返回指定路径字符串的文件名和扩展名;
Path.GetFileNameWithoutExtension方法 :返回不具有扩展名的路径字符串的文件名;
Path.GetPathRoot方法 :获取指定路径的根目录信息;
Path.GetFullPath方法:获得它的完全限定路径(绝对路径);
Path.Combine方法:用于合并两个路径,不用烦于处理“\”字符;
Path.GetTempPath方法:返回当前系统的临时文件夹的路径;
Path.IsPathRooted方法:用于判断一个路径是绝对路径还是相对路径;
Path.GetTempFileName方法:在当前用户的临时目录下创建一个临时文件,用于获得随机文件名;
Path.GetRandomFileName方法:它与GetTempFileName方法的不同之处在于它仅仅返回一个字符串但不会创建文件;
Environment. SystemDirectory属性:获取系统目录的完全限定路径;
Environment. GetFolderPath方法:该方法接受的参数类型为Environment.SpecialFolder枚举,通过这个方法可以获得大量系统文件夹的路径,如我的电脑,我的电脑,桌面,系统目录等;
Directory类的GetCurrentDirectory和SetCurrentDirectory方法:读取或设置当前目录;
Application.StartupPath()方法:获取当前应用程序的所在目录;
FileInfo.Exists:获取指定文件是否存在;
FileInfo.Name,FileInfo.Extensioin:获取文件的名称和扩展名;
FileInfo.FullName:获取文件的全限定名称(完整路径);
FileInfo.Directory:获取文件所在目录,返回类型为DirectoryInfo;
FileInfo.DirectoryName:获取文件所在目录的路径(完整路径);
FileInfo.Length:获取文件的大小(字节数);
FileInfo.IsReadOnly:获取文件是否只读;
FileInfo.Attributes:获取或设置指定文件的属性,返回类型为FileAttributes枚举,可以是多个值的组合;
FileInfo.CreationTime、FileInfo.LastAccessTime、FileInfo.LastWriteTime:分别用于获取文件的创建时间、访问时间、修改时间;
file.Attributes |= FileAttributes.ReadOnly;// 添加只读属性
file.Attributes &= ~FileAttributes.ReadOnly;// 移除只读属性
FileVersionInfo类有大量的版本信息相关的属性,通过它的静态方法GetVersionInfo获得该类的一个实例,然后就可以访问指定文件的版本信息了,如FileVersion表示文件版本号,LegalCopyright表示指定文件的版权声明,CompanyName表示指定文件的公司名称;
判断两个文件的内容是否相同,可以使用System.security.Cryptography.HashAlgorithm类为每个文件生成一个哈希码,然后比较两个哈希码是否一致。
/// <summary>
/// 判断两个文件内容是否一致
/// </summary>
public static bool IsFilesEqual(string fileName1, string fileName2)
{
using (HashAlgorithm hashAlg = HashAlgorithm.Create())
{
using (FileStream fs1 = new FileStream(fileName1, FileMode.Open), fs2 = new FileStream(fileName2, FileMode.Open))
{
byte[] hashBytes1 = hashAlg.ComputeHash(fs1);
byte[] hashBytes2 = hashAlg.ComputeHash(fs2);
// 比较哈希码
return (BitConverter.ToString(hashBytes1) == BitConverter.ToString(hashBytes2));
}
}
}
DirectoryInfo.Exists:获取指定目录是否存在;
DirectoryInfo.Name:获取目录的名称;
DirectoryInfo.FullName:获取目录的全限定名称(完整路径);
DirectoryInfo.Attributes:获取或设置指定目录的属性,返回类型为FileAttributes枚举,可以是多个值的组合;
DirectoryInfo.CreationTime、FileInfo.LastAccessTime、FileInfo.LastWriteTime:分别用于获取目录的创建时间、访问时间、修改时间;
DirectoryInfo.Parent:获取目录的上级目录,返回类型为DirectoryInfo;
DirectoryInfo.Root:获取目录的根目录,返回类型为DirectoryInfo;
DirectoryInfo.GetFiles():获取目录中(不包含子目录)的文件,返回类型为FileInfo[],支持通配符查找;
DirectoryInfo.GetDirectories():获取目录(不包含子目录)的子目录,返回类型为DirectoryInfo[],支持通配符查找;
DirectoryInfo. GetFileSystemInfos():获取指定目录下(不包含子目录)的文件和子目录,返回类型为FileSystemInfo[],支持通配符查找;
FileInfo.CopyTo:将现有文件复制到新文件,其重载版本还允许覆盖已存在文件;
FileInfo.MoveTo:将指定文件移到新位置,并提供指定新文件名的选项,所以可以用来重命名文件(而不改变位置);
FileInfo.Delete:永久删除文件,如果文件不存在,则不执行任何操作;
FileInfo.Replace:使用当前FileInfo对象对应文件的内容替换目标文件,而且指定另一个文件名作为被替换文件的备份;
DirectoryInfo.Create:创建指定目录,如果指定路径中有多级目录不存在,该方法会一一创建;
DirectoryInfo.CreateSubdirectory:创建当前对象对应的目录的子目录;
DirectoryInfo.MoveTo:将目录(及其包含的内容)移动至一个新的目录,也可用来重命名目录;
DirectoryInfo.Delete:删除目录(如果它存在的话)。如果要删除一个包含子目录的目录,要使用它的重载版本,以指定递归删除;
DriveInfo.GetDrives():获得计算机的所有逻辑驱动器,返回类型为DriveInfo[];
DriveInfo.Name:获取驱动器的名称(如C:\);
DriveInfo.DriveType:获取驱动器的类型(如Fixed,CDRom,Removable,Network等);
DriveInfo.DriveFormat:获取驱动器的格式(如NTFS,FAT32,CDFS,UDF等);
DriveInfo.IsReady:获取驱动器是否已准备好,比如CD是否已放入CD驱动器,如果驱动器没有准备好,访问其信息会引发IOException类型异常;
DriveInfo.AvailableFreeSpace:获取驱动器的可用空间;
DriveInfo.TotalFreeSpace:获取驱动器总的可用空间,它与AvailableFreeSpace的不同在于AvailableFreeSpace会磁盘配额的设置;
DriveInfo.TotalSize:获取驱动器总的空间;
DriveInfo.RootDirectory:获得驱动器的根目录(DirectoryInfo类型);