Previous topicNext topic
Help > 开发指南 > SanMuGrid平台编程 > 静态类 > 其他 > 文件处理 >
Path

Path

微软官方帮助文档:Path 类 (System.IO) | Microsoft Docs

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

Vb.Net
Dim strFileFullPath As String="D:\Temp\Log\DEBUG\20220731.log"
Dim strReturn As String=Path.ChangeExtension(strFileFullPath,"txt")
Proj.MsgDebug.Add("更换后缀不带点:{0}",strReturn)
strReturn=Path.ChangeExtension(strFileFullPath,".txt")
Proj.MsgDebug.Add("更换后缀带点:{0}",strReturn)
strReturn=Path.ChangeExtension(strFileFullPath,"")
Proj.MsgDebug.Add("更换后缀为空:{0}",strReturn)

Dim strPath1 As String="D:\Temp"
Dim strPath2 As String="Data\"
Dim strPath3 As String="\Debug\"
Dim strFileName As String="myExcel"
Dim strExtention As String=".xls"
strReturn=Path.Combine(strPath1,strFileName+strExtention)
Proj.MsgDebug.Add("组合文件路径:{0}",strReturn)
strReturn=Path.Combine(strPath1,strPath2,strPath3,strFileName+strExtention)
Proj.MsgDebug.Add("错误的组合文件路径:{0}",strReturn)
'从第二个参数开始,后面的路径组合部分都不能以“\”开头。
strReturn=Path.Combine(strPath1,strPath3.TrimStart("\"),strFileName+strExtention)
Proj.MsgDebug.Add("组合文件路径:{0}",strReturn)

strReturn=Path.GetDirectoryName(strFileFullPath)
Proj.MsgDebug.Add("GetDirectoryName:{0}",strReturn)
strReturn=Path.GetExtension(strFileFullPath)
Proj.MsgDebug.Add("GetExtension:{0}",strReturn)
strReturn=Path.GetFileName(strFileFullPath)
Proj.MsgDebug.Add("GetFileName:{0}",strReturn)
strReturn=Path.GetFileNameWithoutExtension(strFileFullPath)
Proj.MsgDebug.Add("GetFileNameWithoutExtension:{0}",strReturn)
strReturn=Path.GetFullPath(strPath1+".\Data\Debug\1254.log")
Proj.MsgDebug.Add("GetFullPath:{0}",strReturn)
strReturn=Path.GetRandomFileName()
Proj.MsgDebug.Add("GetRandomFileName:{0}",strReturn)
strReturn=Path.GetTempFileName()
Proj.MsgDebug.Add("GetTempFileName:{0}",strReturn)
strReturn=Path.GetTempPath()
Proj.MsgDebug.Add("GetTempPath:{0}",strReturn)
strReturn=Path.HasExtension(strFileFullPath)
Proj.MsgDebug.Add("HasExtension:{0}",strReturn)
strReturn=Path.IsPathRooted(strFileFullPath)
Proj.MsgDebug.Add("IsPathRooted:{0}",strReturn)

'返回结果:更换后缀不带点:D:\Temp\Log\DEBUG\20220731.txt
'返回结果:更换后缀带点:D:\Temp\Log\DEBUG\20220731.txt
'返回结果:更换后缀为空:D:\Temp\Log\DEBUG\20220731.
'返回结果:组合文件路径:D:\Temp\myExcel.xls
'返回结果:错误的组合文件路径:\Debug\myExcel.xls
'返回结果:组合文件路径:D:\Temp\Debug\myExcel.xls
'返回结果:GetDirectoryName:D:\Temp\Log\DEBUG
'返回结果:GetExtension:.log
'返回结果:GetFileName:20220731.log
'返回结果:GetFileNameWithoutExtension:20220731
'返回结果:GetFullPath:D:\Temp\Data\Debug\1254.log
'返回结果:GetRandomFileName:ntiz45vs.jjw
'返回结果:GetTempFileName:C:\Users\jimmy\AppData\Local\Temp\tmp7C30.tmp
'返回结果:GetTempPath:C:\Users\jimmy\AppData\Local\Temp\
'返回结果:HasExtension:True
'返回结果:IsPathRooted:True

C#
string strFileFullPath = @"D:\Temp\Log\DEBUG\20220731.log";
string strReturn = Path.ChangeExtension(strFileFullPath, "txt");
Proj.MsgDebug.Add("更换后缀不带点:{0}", strReturn);
strReturn = Path.ChangeExtension(strFileFullPath, ".txt");
Proj.MsgDebug.Add("更换后缀带点:{0}", strReturn);
strReturn = Path.ChangeExtension(strFileFullPath, "");
Proj.MsgDebug.Add("更换后缀为空:{0}", strReturn);

string strPath1 = @"D:\Temp";
string strPath2 = @"Data\";
string strPath3 = @"\Debug\";
string strFileName = "myExcel";
string strExtention = ".xls";
strReturn = Path.Combine(strPath1, strFileName + strExtention);
Proj.MsgDebug.Add("组合文件路径:{0}", strReturn);
strReturn = Path.Combine(strPath1, strPath2, strPath3, strFileName + strExtention);
Proj.MsgDebug.Add("错误的组合文件路径:{0}", strReturn);
// 从第二个参数开始,后面的路径组合部分都不能以“\”开头。
strReturn = Path.Combine(strPath1, strPath3.TrimStart('\\'), strFileName + strExtention);
Proj.MsgDebug.Add("组合文件路径:{0}", strReturn);

strReturn = Path.GetDirectoryName(strFileFullPath);
Proj.MsgDebug.Add("GetDirectoryName:{0}", strReturn);
strReturn = Path.GetExtension(strFileFullPath);
Proj.MsgDebug.Add("GetExtension:{0}", strReturn);
strReturn = Path.GetFileName(strFileFullPath);
Proj.MsgDebug.Add("GetFileName:{0}", strReturn);
strReturn = Path.GetFileNameWithoutExtension(strFileFullPath);
Proj.MsgDebug.Add("GetFileNameWithoutExtension:{0}", strReturn);
strReturn = Path.GetFullPath(strPath1 + @".\Data\Debug\1254.log");
Proj.MsgDebug.Add("GetFullPath:{0}", strReturn);
strReturn = Path.GetRandomFileName();
Proj.MsgDebug.Add("GetRandomFileName:{0}", strReturn);
strReturn = Path.GetTempFileName();
Proj.MsgDebug.Add("GetTempFileName:{0}", strReturn);
strReturn = Path.GetTempPath();
Proj.MsgDebug.Add("GetTempPath:{0}", strReturn);
strReturn = Path.HasExtension(strFileFullPath).ToString();
Proj.MsgDebug.Add("HasExtension:{0}", strReturn);
strReturn = Path.IsPathRooted(strFileFullPath).ToString();
Proj.MsgDebug.Add("IsPathRooted:{0}", strReturn);

//返回结果:更换后缀不带点:D:\Temp\Log\DEBUG\20220731.txt
//返回结果:更换后缀带点:D:\Temp\Log\DEBUG\20220731.txt
//返回结果:更换后缀为空:D:\Temp\Log\DEBUG\20220731.
//返回结果:组合文件路径:D:\Temp\myExcel.xls
//返回结果:错误的组合文件路径:\Debug\myExcel.xls
//返回结果:组合文件路径:D:\Temp\Debug\myExcel.xls
//返回结果:GetDirectoryName:D:\Temp\Log\DEBUG
//返回结果:GetExtension:.log
//返回结果:GetFileName:20220731.log
//返回结果:GetFileNameWithoutExtension:20220731
//返回结果:GetFullPath:D:\Temp\Data\Debug\1254.log
//返回结果:GetRandomFileName:ntiz45vs.jjw
//返回结果:GetTempFileName:C:\Users\jimmy\AppData\Local\Temp\tmp7C30.tmp
//返回结果:GetTempPath:C:\Users\jimmy\AppData\Local\Temp\
//返回结果:HasExtension:True
//返回结果:IsPathRooted:True