这是【C# 教程系列第 16 篇】,如果觉得有用的话,欢迎关注专栏。
- 一:File 类
- 1:检查指定路径下文件的存在性
- 2:删除指定路径下的文件
- 3:将指定字符串添加到文件中
- 二:FileInfo 类
- 1:获取文件名
- 2:获取文件路径
- 3:获取文件完整路径
- 4:获取文件的大小
- 三:Directory 类
- 1:新建文件夹
- 2:删除非空文件夹
- 3:移动文件到指定文件夹
- 4:检查指定路径下 文件夹 的存在性
- 四:DirectoryInfo 类
- 1:获取文件夹名字
- 2:获取指定子目录的父目录
- 3:获取指定文件的扩展名
用于 IO 文件的类: File,Directory,FileInfo,DirectoryInfo,FileStream
事先需要了解的是: File 类和 Directory 类都是静态类,不能去实例化,而 FileInfo 和 DirectoryInfo这两个类可以创建类的实例。当需要进行很多次对目录或文件的操作时,最好别使用静态类,因为每次都要查找文件,所以会比较耗费时间。
File:用于创建,复制,删除,移动文件的静态方法。 FileInfo :用于创建,复制,删除,移动文件的实例方法(实例方法需要创建对象)。 Directory:用于创建,复制,删除,移动,重命名目录的静态方法。 DirectoryInfo:用于创建,复制,删除,移动,重命名目录的实例方法。
例:检查D盘里一个名为“HelloWorld”的文件夹下是否存在名为“IO”的 .txt 类型文件。 先声明一个路径:string path=“D:/HelloWorld/IO.txt”;
注:每个类的属性,方法都有很多,我只列出了常用的几个,其它的大家可以点进去看看。
一:File 类 1:检查指定路径下文件的存在性关键函数:File.Exists(string path),返回类型为 bool。
bool exist = File.Exists(path);
然后打印结果即可,true:存在。false:不存在。
2:删除指定路径下的文件关键函数:File.Delete(string path),无返回类型。
File.Delete(path);
3:将指定字符串添加到文件中
关键函数:File.AppendAllText(path,“要添加的内容”,Encoding.Default),无返回类型。
File.AppendAllText(path,"程序人生道可道",Encoding.Default);
用此函数有两点需要注意:
- 若指定文件不存在,则系统会在该路径下自动创建文件。
- 后续添加的内容不会覆盖之前添加的。
先实例化类对象:FileInfo fileInfo = new FileInfo(path);
1:获取文件名关键函数:fileInfo.Name, 返回类型为 string。
string fileName = fileInfo.Name;
2:获取文件路径
关键函数:fileInfo.DirectoryName, 返回类型为 string。
string filePath = fileInfo.DirectoryName;
该函数显示的是文件上层的路径(这里显示的是:D:/HelloWorld)
3:获取文件完整路径关键函数:fileInfo.FullName, 返回类型为 string。
string filePath= fileInfo.FullName;
该函数显示的是文件完整路径(这里显示的是:D:/HelloWorld/IO.txt)
4:获取文件的大小关键函数:fileInfo.Length, 返回类型为 long。
long fileLength = fileInfo.Length;
文件的大小是以字节为单位。
三:Directory 类 1:新建文件夹关键函数: Directory.CreateDirectory(path);, 无返回类型
string path = "D:/HelloWorld/新的文件夹名字";
Directory.CreateDirectory(path);
作用:在指定路径中创建所有目录和子目录(除非它们已存在)
2:删除非空文件夹关键函数: Directory.Delete(path), 无返回类型
string path = "D:/HelloWorld/要删除的文件夹名字";
Directory.Delete(path);
文件夹为空则无法删除。
3:移动文件到指定文件夹关键函数: Directory.Move(要移动的文件夹,指定的文件夹);, 无返回类型
string oldPath = "D:/HelloWorld";
string newPath = "D:/HuoYing";
Directory.Move(oldPath,newPath);
经试验:
- 要移动的文件夹”路径不用包含要移动的文件名,只需要文件夹名就可以。
- 指定的文件夹”不能是已存在的,否则会报错。
- 移动成功后,系统会自动创建指定文件夹,原来的文件夹也会自动删除。
关键函数:Directory.Exists(string path),返回类型为 bool。
bool exist = Directory.Exists("D:/HelloWorld");
四:DirectoryInfo 类
先实例化类对象:DirectoryInfo dirInfo=new DirectoryInfo(path);
1:获取文件夹名字关键函数: dirInfo.Name, 返回类型为 string
string dirName = dirInfo.Name;
2:获取指定子目录的父目录
关键函数: dirInfo.Parent, 返回类型为 DirectoryInfo
DirectoryInfo parsent = dirInfo.Parent;
//打印父目录的名称
Console.WriteLine(parsent.Name);
3:获取指定文件的扩展名
关键函数: dirInfo.Extension, 返回类型为 string
string extension = dirInfo.Extension;
//打印文件扩展名,这里的输出结果为 .txt
Console.WriteLine(extension);
前面也说了,这四个类里还有很多方法,属性我都没有写,想了解的可以自己进对应类研究一下。
有些东西还是要自己测一遍才能记得更清楚。
你的问题得到解决了吗?欢迎在评论区留言。
赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。
结束语 技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。 最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。