如何利用系统函数操作文件夹及文件
平时使用Path类不多,常用Combine来串联两个路径,其他的很少用,偶然发现Path提供了很多方便实用的函数。
名称 |
说明 |
更改路径字符串的扩展名。 |
|
合并两个路径字符串。 |
|
返回指定路径字符串的目录信息。 |
|
返回指定的路径字符串的扩展名。 |
|
返回指定路径字符串的文件名和扩展名。 |
|
返回不具有扩展名的指定路径字符串的文件名。 |
|
返回指定路径字符串的绝对路径。 |
|
获取包含不允许在文件名中使用的字符的数组。 |
|
获取包含不允许在路径名中使用的字符的数组。 |
|
获取指定路径的根目录信息。 |
|
返回随机文件夹名或文件名。 |
|
创建磁盘上唯一命名的零字节的临时文件并返回该文件的完整路径。 |
|
返回当前系统的临时文件夹的路径。 |
|
确定路径是否包括文件扩展名。 |
|
获取一个值,该值指示指定的路径字符串是包含绝对路径信息还是包含相对路径信息。 |
我比较喜欢那个
GetTempPath
函数,一句代码就可以返回临时目录的路径了,很方便,大家可能也注意到,Environment.GetEnvironmentVariable(string variable)也提供了如何获取特别路径的函数,另外Environment.GetFolderPath(Environment.SpecialFolder folder)的函数也提供了很多实用功能,返回相应的目录,枚举包含有: Environment 成员名称 说明 ApplicationData 目录,它用作当前漫游用户的应用程序特定数据的公共储存库。 CommonApplicationData 目录,它用作所有用户使用的应用程序特定数据的公共储存库。 LocalApplicationData 目录,它用作当前非漫游用户使用的应用程序特定数据的公共储存库。 Cookies 用作 Desktop 逻辑桌面,而不是物理文件系统位置。 Favorites 用作用户收藏夹项的公共储存库的目录。 History 用作 InternetCache 用作 Programs 包含用户程序组的目录。 MyComputer “ MyMusic “My Music” MyPictures “My Pictures” Recent 包含用户最近使用过的文档的目录。 SendTo 包含 StartMenu 包含 Startup 对应于用户的 System “System” Templates 用作文档模板的公共储存库的目录。 DesktopDirectory 用于物理上存储桌面上的文件对象的目录。 Personal 用作文档的公共储存库的目录。 MyDocuments “ ProgramFiles “Program files” CommonProgramFiles 用于应用程序间共享的组件的目录
SpecialFolder
枚举
Internet Cookie
的公共储存库的目录。
Internet
历史记录项的公共储存库的目录。
Internet
临时文件的公共储存库的目录。
我的电脑
”
文件夹。
文件夹。
文件夹。
“
发送
”
菜单项的目录。
“
开始
”
菜单项的目录。
“
启动
”
程序组的目录。
目录。
我的电脑
”
文件夹。
目录。
最后我顺便提供一个递归删除文件夹和文件的操作函数,方便大家
///
<summary>
///
删除文件夹及其下面的子文件和文件夹
///
</summary>
///
<param name="filePath"></param>
public
static
void
DeleteSubFileAndFolder(
string
filePath)
{
if
(Directory.Exists(filePath))
{
foreach
(
string
path
in
Directory.GetFileSystemEntries(filePath))
{
if
(File.Exists(path))
{
File.Delete(path);
}
else
{
DeleteSubFileAndFolder(path);
}
}
Directory.Delete(filePath);
}
}