System.IO.Path为路径的操作封装了很多很有的东西,利用该类提供的方法能够快速处理路径操作的问题。下面详细了解一下。
1、属性
属性太复杂了,反映什么系统平台的信息,看不懂,等以后看得懂了再补充。
2、方法
ChangeExtension 更改路径字符串的扩展名。
Combine 合并两个路径字符串。
GetDirectoryName 返回指定路径字符串的目录信息。
GetExtension 返回指定的路径字符串的扩展名。
GetFileName 返回指定路径字符串的文件名和扩展名。
GetFileNameWithoutExtension 返回不具有扩展名的指定路径字符串的文件名。
GetFullPath 返回指定路径字符串的绝对路径。
GetInvalidFileNameChars 获取包含不允许在文件名中使用的字符的数组。
GetInvalidPathChars 获取包含不允许在路径名中使用的字符的数组。
GetPathRoot 获取指定路径的根目录信息。
GetRandomFileName 返回随机文件夹名或文件名。
GetTempFileName 创建磁盘上唯一命名的零字节的临时文件并返回该文件的完整路径。
GetTempPath 返回当前系统的临时文件夹的路径。
HasExtension 确定路径是否包括文件扩展名。
IsPathRooted 获取一个值,该值指示指定的路径字符串是否包含根。
string str = "images/girl.jpg";
string extend = Path.GetExtension(str);
Console.WriteLine(extend); //输出 .jpg
string str1 = @"C:App_Data";
string str2 = @"imagesgirl.jpg";
string newPath = Path.Combine(str1, str2);
Console.WriteLine(newPath); //输出C:App_Dataimagesgirl.jpg //会自动补充反斜杠
string str = @"C:girl.jpg";
string newPath = Path.ChangeExtension(str, "gif"); //更改扩展名,但不改变原值
Console.WriteLine(str + " 更改扩展名之后: " + newPath); //newPath为:C:girl.gif
string str = @"C:App_datauploadgirl.jpg";
string dictory = Path.GetDirectoryName(str);
Console.WriteLine(dictory); //输出 C:App_dataupload
string str = @"C:App_datauploadgirl.jpg";
string fileName = Path.GetFileName(str);
Console.WriteLine(fileName); //输出 girl.jpg
string str = @"C:App_datauploadgirl.jpg";
string fileNameWithOutEntension = Path.GetFileNameWithoutExtension(str);
Console.WriteLine(fileNameWithOutEntension); //输出 girl
string str = @"/upload/girl.jpg";
string fullPath = Path.GetFullPath(str);
Console.WriteLine(fullPath); //输出 C:uploadgirl.jpg 这个东西也可以转换成绝对物理路径
char[] chArr = Path.GetInvalidFileNameChars();
foreach (char c in chArr)
{
Console.Write(c + " "); //输出很多不允许在文件名使用的字符
}
char[] chArr = Path.GetInvalidPathChars();
foreach (char c in chArr)
{
Console.Write(c + " "); //输出很多不允许在路径中使用的字符
}
string str = @"C:App_datauploadgirl.jpg";
string rootInfo = Path.GetPathRoot(str);
Console.Write(rootInfo); //输出 C:
string str = Path.GetRandomFileName();
Console.Write(str); //返回随机文件夹名或文件名
string str = Path.GetTempFileName(); //创建磁盘上唯一命名的零字节的临时文件并返回该文件的完整路径
Console.Write(str); //输出 C:UsersAdministratorAppDataLocalTemp emdw85.tmp
string str = Path.GetTempPath();
Console.Write(str); //输出 C:UsersAdministratorAppDataLocalTemp
string str = @"C:App_datauploadgirl.jpg";
bool hasExtension = Path.HasExtension(str); //确定路径是否含有扩展名,此处有.jpg返回true
Console.Write(hasExtension);
string fileName = @"C:mydir123.ext";
Path.IsPathRooted(fileName); //true
string UncPath = @"\myPcmydirmyfile";
Path.IsPathRooted(UncPath); //true
string relativePath = @"mydirsudir";
Path.IsPathRooted(relativePath); //false
Console.ReadKey();