C#的Path 类使用说明

一:Path 类简单说明

1)对包含文件或目录路径信息的 String 实例执行操作。 这些操作是以跨平台的方式执行的。
2)路径是提供文件或目录位置的字符串。 路径不一定指向磁盘上的位置。例如,路径可能映射到内存中或设备上的位置。
3)Path类的所有成员都是静态的 ,因此无需路径实例即可调用。

二:Path 类的字段

字段字段说明
AltDirectorySeparatorChar提供平台特定的替换字符,该替换字符,用于在反映分层文件系统组织的路径字符串中,分隔目录级别。
DirectorySeparatorChar提供平台特定的字符,该字符用于在反映分层文件系统组织的路径字符串中,分隔目录级别。
PathSeparator用于在环境变量中,分隔路径字符串的平台特定的分隔符。
VolumeSeparatorChar提供平台特定的卷的分隔符。

1)使用举例:

Console.WriteLine($"Path的目录分隔字符: '{Path.DirectorySeparatorChar}'");
Console.WriteLine($"Path的Alt目录分隔符: '{Path.AltDirectorySeparatorChar}'");
Console.WriteLine($"Path的路径分隔符: '{Path.PathSeparator}'");
Console.WriteLine($"Path的卷的分隔符字符: '{Path.VolumeSeparatorChar}'");

2)运行结果:

Path的目录分隔字符: '\'
Path的Alt目录分隔符: '/'
Path的路径分隔符: ';'
Path的卷的分隔符字符: ':'

三:Path 类的方法

字段字段说明
ChangeExtension(String, String)更改路径字符串的扩展名
Combine(String, String)将两个字符串,组合成一个路径。
GetDirectoryName(String)返回指定路径的目录信息。
GetExtension(String)返回指定路径字符串的扩展名(包括句点“.”)。
GetFileName(String)返回指定路径字符串的文件名和扩展名
GetFileNameWithoutExtension(String)返回不具有扩展名的指定路径字符串的文件名。
GetFullPath(String)返回指定路径字符串的绝对路径
GetInvalidFileNameChars()获取包含不允许在文件名中使用的字符的数组。
GetInvalidPathChars()获取包含不允许在路径名中使用的字符的数组。
GetPathRoot(String)从指定字符串包含的路径中获取根目录信息。
GetRandomFileName()返回随机文件夹名或文件名。
GetTempFileName()在磁盘上创建一个,唯一命名的零字节临时文件,并返回该文件的完整路径。
GetTempPath()返回当前用户的临时文件夹的路径。
HasExtension(String)确定路径是否包括文件扩展名。
IsPathRooted(String)返回一个值,该值指示指定的路径字符串是否包含根。

1: Path.ChangeExtension(String, String) 的方法介绍

1)作用:更改路径字符串的扩展名。
2)语法:

public static string ChangeExtension (string path, string extension);

3)使用举例:

string goodFileName = @"C:\Users\myfile.com.extension";
string badFileName = @"C:\Users\\";
string result;

result = Path.ChangeExtension(goodFileName, ".old");//替换后缀名
Console.WriteLine("ChangeExtension({0}, '.old') returns '{1}'", goodFileName, result);

result = Path.ChangeExtension(goodFileName, "");//替换后缀名
Console.WriteLine("ChangeExtension({0}, '') returns '{1}'", goodFileName, result);

result = Path.ChangeExtension(badFileName, ".old");//替换后缀名
Console.WriteLine("ChangeExtension({0}, '.old') returns '{1}'", badFileName, result);

4)运行结果:

ChangeExtension(C:\Users\myfile.com.extension, '.old') returns 'C:\Users\myfile.com.old'
ChangeExtension(C:\Users\myfile.com.extension, '') returns 'C:\Users\myfile.com.'
ChangeExtension(C:\Users\\, '.old') returns 'C:\Users\\.old'

2: Path.Combine 的方法介绍

1)作用:将多个字符串组合成一个路径。
2)语法:

public static string Combine (string path1, string path2);

3)使用举例:

string path1 = "c:\\temp";
string path2 = "subdir\\file.txt";

string combination = Path.Combine(path1, path2);
Console.WriteLine("将两个字符串 '{0}' 和 '{1}'组合成一个路径, 合成结果是: {2}'{3}'", 
    path1, path2, Environment.NewLine, combination);

4)运行结果:

将两个字符串 'c:\temp' 和 'subdir\file.txt'组合成一个路径, 合成结果是:
'c:\temp\subdir\file.txt'

3: Path.GetDirectoryName(String) 的方法介绍

1)作用:返回指定路径的目录信息。返回String,表示返回path 的目录信息。如果 path 表示根目录,则返回或为 null,则为 null。 如果 path 不包含目录信息,则返回 Empty。
2)语法:

public static string GetDirectoryName (string path);

3)使用举例:

string filePath = @"C:\MyDir\MySubDir\myfile.ext";
string directoryName;

directoryName = Path.GetDirectoryName(filePath);
Console.WriteLine("获取目录名称('{0}') ,返回 '{1}'", filePath, directoryName);

4)运行结果:

获取目录名称('C:\MyDir\MySubDir\myfile.ext') ,返回 'C:\MyDir\MySubDir'

5)使用注意:
  在大多数情况下,此方法返回的字符串由路径中所有字符组成,但不包括最后一个目录分隔符。 目录分隔符可以是 (/) 或 DirectorySeparatorChar,AltDirectorySeparatorChar。 如果路径由根目录(如“c:\”)组成, null 则返回该目录。

4: Path.GetExtension(String) 的方法介绍

1)作用:返回指定路径字符串的扩展名(包括句点“.”)。此方法返回的字符串string,是指定路径的扩展名(包含句点“.”)、或 null、或 Empty。 如果 path 为 null,则 GetExtension(String) 返回 null。 如果 path 不具有扩展名信息,则 GetExtension(String) 返回 Empty。
2)语法:

public static string GetExtension (string path);

3)使用举例:

string fileName = @"C:\Users\Administrator\myfile.ext";
string path = @"C:\Users\mydir.old\";
string extension;

extension = Path.GetExtension(fileName);
Console.WriteLine("GetExtension('{0}') returns '{1}'",
    fileName, extension);

extension = Path.GetExtension(path);
Console.WriteLine("GetExtension('{0}') returns '{1}'",
    path, extension);

4)运行结果:

GetExtension('C:\Users\Administrator\myfile.ext') returns '.ext'
GetExtension('C:\Users\mydir.old\') returns ''

5)使用注意:
  此方法通过搜索path句点 (.) 来获取扩展path,从最后一个字符开始,然后继续到第一个字符path。 如果在某个或AltDirectorySeparatorChar或者DirectorySeparatorChar字符之前找到句点,则返回包含句点及其后面的字符的字符串;否则String.Empty返回。

5: Path.GetFileName(String) 和GetFileNameWithoutExtension(String) 的方法介绍

1)作用:GetFileName(string) 的作用是从中获取文件名和扩展名组合起来的字符串。返回的String,是path 中最后的目录分隔符后的字符。 如果 path 的最后一个字符是目录或卷分隔符,则此方法返回 Empty。 如果 path 为 null,则此方法返回 null。
  GetFileNameWithoutExtension(String) 的作用是返回指定路径字符串下,不具有扩展名的文件名。
2)语法:

public static string GetFileName (string path);
public static string GetFileNameWithoutExtension (string path);

3)使用举例:

string fileName = @"C:\Users\Administrator\freedom.doc";
string path = @"C:\Users\Administrator\";
string result;

result = Path.GetFileName(fileName);
Console.WriteLine("GetFileName('{0}') returns '{1}'",
    fileName, result);
    
result = Path.GetFileName(path);
Console.WriteLine("GetFileName('{0}') returns '{1}'",
    path, result);


result = Path.GetFileNameWithoutExtension(fileName);
Console.WriteLine("GetFileName('{0}') returns '{1}'",
    fileName, result);

result = Path.GetFileName(path);
Console.WriteLine("GetFileName('{0}') returns '{1}'",
    path, result);

4)运行结果:

GetFileName('C:\Users\Administrator\freedom.doc') returns 'freedom.doc'
GetFileName('C:\Users\Administrator\') returns ''
GetFileName('C:\Users\Administrator\freedom.doc') returns 'freedom'
GetFileName('C:\Users\Administrator\') returns ''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值