C#各种方法获取文件名、后缀、路径等
|
admin
2024年1月9日 9:23
本文热度 508
|
C#获取各种文件名
1、c#根据绝对路径获取 带后缀文件名、后缀名、文件名。
1
2
3
4 | string str = " E:\test\Default.aspx" ;
string filename = System.IO.Path.GetFileName(str);
string extension = System.IO.Path.GetExtension(str);
string fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(str);
|
2、c#根据绝对路径获取 带后缀文件名、后缀名、文件名,使用 Split 函数。
1
2
3
4 | string str = = " E:\test\Default.aspx" ;
char [] delimiterChars = { '.' , '\\' };
string [] Mystr = str.Split(delimiterChars);
string sheetName = Mystr[Mystr.Length - 2];);
|
3、C# 获取文件名及扩展名
1
2 | string aFirstName = aFile.Substring(aFile.LastIndexOf( "\\" ) + 1, (aFile.LastIndexOf( "." ) - aFile.LastIndexOf( "\\" ) - 1));
string aLastName = aFile.Substring(aFile.LastIndexOf( "." ) + 1, (aFile.Length - aFile.LastIndexOf( "." ) - 1));
|
还有的就是用Substring截取
1
2 | strFilePaht.Substring(path.LastIndexOf( "\\" ) + 1, path.Length - 1 - path.LastIndexOf( "\\" ));
strFilePaht.Substring(path.LastIndexOf( "." ), path.Length - path.LastIndexOf( "." ));
|
或者用openFileDialog1.SafeFileName
这样就能取到该文件的所在目录路径
1
2 | string path1 = System.IO.Path.GetDirectoryName(openFileDialog1.FileName) + @"\" ;
string path = Path.GetFileName( "C:\My Document\path\image.jpg" );
|
1
2
3
4 | string fullPath = @"\WebSite1\Default.aspx" ;
string filename = System.IO.Path.GetFileName(fullPath);
string extension = System.IO.Path.GetExtension(fullPath);
string fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(fullPath);
|
1
2
3 | System.IO.Path.GetFileNam(filePath)
System.IO.Path.GetFileNameWithoutExtension(filePath)
System.IO.Path.GetDirectoryName(filePath)
|
4、其他方法
1
2 | string str = this .GetType().Assembly.Location;
result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)
|
1
2 | string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)
|
1
2 | string str = System.Environment.CurrentDirectory;
result: X:\xxx\xxx (.exe文件所在的目录)
|
1
2 | string str = System.AppDomain.CurrentDomain.BaseDirectory;
result: X:\xxx\xxx\ (.exe文件所在的目录+"\")
|
1
2 | string str = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
result: X:\xxx\xxx\ (.exe文件所在的目录+"\")
|
<textarea style="user-select: initial !important; margin: 0px; padding: 0px; outline: none; font: 16px / 24px tahoma, arial, 宋体;"></textarea>
1
2 | string str = System.Windows.Forms.Application.StartupPath;
result: X:\xxx\xxx (.exe文件所在的目录)
|
1
2 | string str = System.Windows.Forms.Application.ExecutablePath;
result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)
|
C#获取指定文件夹下所有文件夹名称
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 | public static string [] GetFilePath( string path)
{
if (Directory.Exists(path))
{
string [] dir = Directory.GetDirectories(path);
string [] names = new string [dir.Length];
for ( int i = 0; i < dir.Length; i++)
{
names[i] = Path.GetFileName(dir[i]);
}
return names;
}
else
{
Debug.LogError( "未找到路径" );
return null ;
}
}
|
该文章在 2024/1/9 10:25:25 编辑过