如何利用系统函数操作文件夹及文件

平时使用Path类不多,常用Combine来串联两个路径,其他的很少用,偶然发现Path提供了很多方便实用的函数。

名称<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

说明

ChangeExtension

更改路径字符串的扩展名。

Combine

合并两个路径字符串。

GetDirectoryName

返回指定路径字符串的目录信息。

GetExtension

返回指定的路径字符串的扩展名。

GetFileName

返回指定路径字符串的文件名和扩展名。

GetFileNameWithoutExtension

返回不具有扩展名的指定路径字符串的文件名。

GetFullPath

返回指定路径字符串的绝对路径。

GetInvalidFileNameChars

获取包含不允许在文件名中使用的字符的数组。

GetInvalidPathChars

获取包含不允许在路径名中使用的字符的数组。

GetPathRoot

获取指定路径的根目录信息。

GetRandomFileName

返回随机文件夹名或文件名。

GetTempFileName

创建磁盘上唯一命名的零字节的临时文件并返回该文件的完整路径。

GetTempPath

返回当前系统的临时文件夹的路径。

HasExtension

确定路径是否包括文件扩展名。

IsPathRooted

获取一个值,该值指示指定的路径字符串是包含绝对路径信息还是包含相对路径信息。

我比较喜欢那个GetTempPath 函数,一句代码就可以返回临时目录的路径了,很方便,大家可能也注意到,Environment.GetEnvironmentVariable(string variable)也提供了如何获取特别路径的函数,另外Environment.GetFolderPath(Environment.SpecialFolder folder)的函数也提供了很多实用功能,返回相应的目录,枚举包含有:

Environment.SpecialFolder 枚举

成员名称

说明

ApplicationData

目录,它用作当前漫游用户的应用程序特定数据的公共储存库。

CommonApplicationData

目录,它用作所有用户使用的应用程序特定数据的公共储存库。

LocalApplicationData

目录,它用作当前非漫游用户使用的应用程序特定数据的公共储存库。

Cookies

用作 Internet Cookie 的公共储存库的目录。

Desktop

逻辑桌面,而不是物理文件系统位置。

Favorites

用作用户收藏夹项的公共储存库的目录。

History

用作 Internet 历史记录项的公共储存库的目录。

InternetCache

用作 Internet 临时文件的公共储存库的目录。

Programs

包含用户程序组的目录。

MyComputer

我的电脑文件夹。

MyMusic

“My Music”文件夹。

MyPictures

“My Pictures”文件夹。

Recent

包含用户最近使用过的文档的目录。

SendTo

包含发送菜单项的目录。

StartMenu

包含开始菜单项的目录。

Startup

对应于用户的启动程序组的目录。

System

“System”目录。

Templates

用作文档模板的公共储存库的目录。

DesktopDirectory

用于物理上存储桌面上的文件对象的目录。

Personal

用作文档的公共储存库的目录。

MyDocuments

我的电脑文件夹。

ProgramFiles

“Program files”目录。

CommonProgramFiles

用于应用程序间共享的组件的目录


最后我顺便提供一个递归删除文件夹和文件的操作函数,方便大家
ExpandedBlockStart.gif ContractedBlock.gif          /**/ /// <summary>
InBlock.gif        
/// 删除文件夹及其下面的子文件和文件夹
InBlock.gif        
/// </summary>
ExpandedBlockEnd.gif        
/// <param name="filePath"></param>

None.gif          public   static   void  DeleteSubFileAndFolder( string  filePath)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
if (Directory.Exists(filePath))
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
foreach (string path in Directory.GetFileSystemEntries(filePath))
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    
if (File.Exists(path))
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
dot.gif{
InBlock.gif                        File.Delete(path);
ExpandedSubBlockEnd.gif                    }

InBlock.gif                    
else
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
dot.gif{
InBlock.gif                        DeleteSubFileAndFolder(path);
ExpandedSubBlockEnd.gif                    }

ExpandedSubBlockEnd.gif                }

InBlock.gif                Directory.Delete(filePath);
ExpandedSubBlockEnd.gif            }

ExpandedBlockEnd.gif        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值