您当前的位置: 首页 >  c#

Allen Su

暂无认证

  • 1浏览

    0关注

    431博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【C# 教程系列第 16 篇】c# 中的 File,Directory,FileInfo,DirectoryInfo 类

Allen Su 发布时间:2019-02-27 20:16:57 ,浏览量:1

这是【C# 教程系列第 16 篇】,如果觉得有用的话,欢迎关注专栏。

文章目录
      • 一:File 类
        • 1:检查指定路径下文件的存在性
        • 2:删除指定路径下的文件
        • 3:将指定字符串添加到文件中
      • 二:FileInfo 类
        • 1:获取文件名
        • 2:获取文件路径
        • 3:获取文件完整路径
        • 4:获取文件的大小
      • 三:Directory 类
        • 1:新建文件夹
        • 2:删除非空文件夹
        • 3:移动文件到指定文件夹
        • 4:检查指定路径下 文件夹 的存在性
      • 四:DirectoryInfo 类
        • 1:获取文件夹名字
        • 2:获取指定子目录的父目录
        • 3:获取指定文件的扩展名
首先需要引用命名空间: using System.IO

用于 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 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);

经试验:

  • 要移动的文件夹”路径不用包含要移动的文件名,只需要文件夹名就可以。
  • 指定的文件夹”不能是已存在的,否则会报错。
  • 移动成功后,系统会自动创建指定文件夹,原来的文件夹也会自动删除。
4:检查指定路径下 文件夹 的存在性

关键函数: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);

前面也说了,这四个类里还有很多方法,属性我都没有写,想了解的可以自己进对应类研究一下。

有些东西还是要自己测一遍才能记得更清楚。

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。

结束语 技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。 最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。
关注
打赏
1656491068
查看更多评论
立即登录/注册

微信扫码登录

0.0883s