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方法,它会帮你处理烦人的”\”;