- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文件操作是程序中非常基础和重要的内容,而路径、文件、目录以及 I/O 都是在进行文件操
作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方
案,即使没有你想要的答案,也希望能提供给你一点有益的思路,如果你有好的建议,恳请
能够留言,使这些内容更加完善。
主要内容:
一、路径的相关操作, 如判断路径是否合法,路径类型,路径的特定部分,合并路径,系
统文件夹路径等内容;
二、相关通用文件对话框,这些对话框可以帮助我们操作文件系统中的文件和目录;
三、文件、目录、驱动器的操作,如获取它们的基本信息,获取和设置文件和目录的属性,
文件的版本信息,
搜索文件和目录,文件判等,复制、移动、删除、重命名文件和目录;
四、读写文件,包括临时文件,随机文件名等;
五、对文件系统的监视;
这一篇就先写一下前两部分。
一、路径相关操作
问题1:如何判定一个给定的路径是否有效/合法;
解决方案:通过Path.GetInvalidPathChars 或Path.GetInvalidFileNameChars 方法获得非
法的路径/文件名字符,可以
根据它来判断路径中是否包含非法字符;
问题2:如何确定一个路径字符串是表示目录还是文件;
解决方案:
1、使用Directory.Exists 或File.Exist 方法,如果前者为真,则路径表示目录;如果后者为
真,则路径表示文件;
2、上面的方法有个缺点就是不能处理那些不存在的文件或目录。这时可以考虑使用
Path.GetFileName 方法获得
其包含的文件名,如果一个路径不为空,而文件名为空那么它表示目录,否则表示文件;
问题3:如何获得路径的某个特定部分(如文件名、扩展名等);
解决方案:
下面是几个相关方法:
Path.GetDirectoryName :返回指定路径字符串的目录信息;
Path.GetExtension : 返回指定的路径字符串的扩展名;
Path.GetFileName : 返回指定路径字符串的文件名和扩展名;
Path.GetFileNameWithoutExtension :返回不具有扩展名的路径字符串的文件名;
Path.GetPathRoot :获取指定路径的根目录信息;
(更多内容还请参考MSDN)
问题4 :如何准确地合并两个路径而不用去担心那个烦人的”/”字符;
解决方案:
使用Path.Combine 方法,它会帮你处理烦人的”/”;
问题5:如何获得系统目录的的路径(如桌面,我的文档,临时文件夹等);
解决方案:
主要是使用System. Environment 类的相关属性和方法:
Environment. SystemDirectory 属性:获取系统目录的完全限定路径;
Environment. GetFolderPath 方法:该方法接受的参数类型为Environment.SpecialFolder
枚举,
通过这个方法可以获得大量系统文件夹的路径,如我的电脑,我的电脑,桌面,系统目录等;
(更多内容还请参考MSDN);
Path.GetTempPath 方法:返回当前系统的临时文件夹的路径;
问题6:如何判断一个路径是绝对路径还是相对路径;
解决方案:
使用Path.IsPathRooted 方法;
问题7:如何读取或设置当前目录;
解决方案:
使用Directory 类的GetCurrentDirectory 和SetCurrentDirectory 方法;
问题8:如何使用相对路径;
解决方案:
设置当前目录后(见问题7 ),就可以使用相对路径了。对于一个相对路径,我们可以
使用Path.GetFullPath 方法获得它的完全限定路径(绝对路径)。
注意:如果打算使用相对路径,建议你将工作目录设置为各个交互文件的共同起点,否则可
能会引入
一些不易发现的安全隐患,被恶意用户利用来访问系统文件。
更多内容:
通常我们可以使用System.IO.Path 类来处理路径。该类提供了一套方法和属性用于对包含
文件或目录路径信息的字符串执行操作,这些操作是以跨平台的方式执行的,而这些方法和
属性都是静态的。
注意路径仅仅是提供文件或目录位置的字符串。路径不必指向磁盘上的位置,例如,路径可
以映射到内存中或设备上的位置。路径的准确格式是由当前平台确定的。例如,在某些系统
上,路径可以驱动器号或卷号开始,而此元素在其他系统中是不存在的。在某些系统上,文
件路径可以包含扩展名,扩展名指示在文件中存储的信息的类型。文件扩展名的格式是与平
台相关的;例如,某些系统将扩展名的长度限制为
文档评论(0)