c#IO的学习

常见应用方面

一、路径的相关操作,如判定路径是否合法,路径类型,路径的特定部分,合并路径,系统文件夹路径等内容;
二、相关通用文件对话框,这些对话框可以帮助我们操作文件系统中的文件和目录;
三、文件、目录、驱动器的操作,如获取它们的基本信息,获取和设置文件和目录的属性,文件的版本信息,
搜索文件和目录,文件判等,复制、移动、删除、重命名文件和目录;
四、读写文件,包括临时文件,随机文件名等;
五、对文件系统的监视;

应用:问题1:如何判定一个给定的路径是否有效/合法;
解决方案:通过Path.GetInvalidPathChars或Path.GetInvalidFileNameChars方法获得非法的路径/文件名字符,可以
根据它来判定路径中是否包含非法字符;

C#快速剔除字符串中不合法的文件名

string strFileName= "文件名称"; 
StringBuilder rBuilder = new StringBuilder(strFileName); 
foreach(char rInvalidChar in Path.GetInvalidFileNameChars())        
rBuilder.Replace(rInvalidChar.ToString(), string.Empty);

C#快速剔除字符串中不合法的文件路径字符
string rPath = "路径"; 
StringBuilder rBuilder = new StringBuilder(rPath); 
foreach(char rInvalidChar in Path.GetInvalidPathChars())        
rBuilder.Replace(rInvalidChar.ToString(), string.Empty);

问题2:如何确定一个路径字符串是表示目录还是文件;

解决方案:
1、使用Directory.Exists或File.Exist方法,假如前者为真,则路径表示目录;假如后者为真,则路径表示文件;

2、上面的方法有个缺点就是不能处理那些不存在的文件或目录。这时可以考虑使用Path.GetFileName方法获得
其包含的文件名,假如一个路径不为空,而文件名为空那么它表示目录,否则表示文件;
 MessageBox.Show(Path.GetFileName(@"D:\release\show.bat"));
问题3:如何获得路径的某个特定部分(如文件名、扩展名等);
解决方案:
下面是几个相关方法:

Path.GetDirectoryName:返回指定路径字符串的目录信息;

Path.GetExtension:返回指定的路径字符串的扩展名;

Path.GetFileName:返回指定路径字符串的文件名和扩展名;

Path.GetFileNameWithoutExtension:
返回不具有扩展名的路径字符串的文件名;

Path.GetPathRoot:获取指定路径的根目录信息;
问题4:如何准确地合并两个路径而不用去担心那个烦人的”\”字符;

解决方案:
使用Path.Combine方法,它会帮你处理烦人的”\”;

posted on 2017-07-13 16:49  努力的毛毛虫  阅读(1452)  评论(0编辑  收藏  举报

导航