C# 文件操作详解(一)---------File类
2013-01-10 08:55
375 查看
C#对文件的操作相当方便,主要涉及到四个类:File、FileInfo、Directory、DirectoryInfo,前两个提供了针对文件的操作,后两个提供了针对目录的操作,类图关系如下:
图1:类图
下面通过实例来看下每个类的使用。
一、File类 File中提供了许多的静态方法,使用这些静态方法我们可以方便的对文件进行读写查等基本操作。
1、读文件
?
2、写文件
?
3、追加内容
?
4、创建文件
?
5、打开文件
?
6、获取和设置文件属性
?
7、复制、移动、替换
?
8、加密解密、删除、判定是否存在
?
通过上面的函数声明,大家应该很清楚如何是好这些方法了,这里就不举例说明了。
同时,看到如此多的函数,我们也很清楚的知道,File类已经可以满足我们对文件操作的基本需求了。File类通过静态方法的方式为我们提供了操作文件的途径。
FileInfo类 提供了与File类相同的功能,不同的是FileInfo提供的都是成员方法
1、读文件
?
2、写文件
?
3、追加内容
?
4、打开文件
?
5、复制、移动、替换
?
6、加密解密、删除
?
7、获得文件属性
?
在FileInfo中获取文件的相关属性不再是方法了,都是通过属性获得的,并且除是否只读属性为可读可写的,其他属性都是只读的。
小结
大家注意到,我们在介绍File类时,所有的操作都是通过静态方法实现的,并且返回值都是具体的值类型(暂且这样说),而在FileInfo中提供的方法不再是静态的,并且返回值都是FileStream类型的,是一个文件流,因此我们在使用FileInfo这个类时还需要结合FileStream类一起使用。
这也算是对File类与FileInfo类的错略的对比。
前面两篇介绍了File类和FileInfo类,对于文件的操作基本够用,但是后面还会补充一下FileStream相关的操作,例如StreamReader和StreamWriter的内容。本文主要介绍Directory类的使用,让我们一起看一下Directory类为我们提供了哪些操作。
Directory类 提供了大量的操作目录的静态方法,下面我们一一学习一下。
1、创建目录
?
这里要说明一下,我们使用CreateDirectory方法时,不是只能创建一级目录,而是可以创建一个层级目录,只要你指定的目录路径无此目录,就可以创建。
2、删除目录
?
我们看方法的注释可以知道,第一个方法只能删除一个空的目录,若删除非空目录会提示错误,如图:
第二个方法则是可以通过指定第二个参数来控制是否递归删除子目录,因此,建议在使用时先使用第一个方法,当捕获到异常时,再提示使用第二个方法递归删除(此处只是个人建议,并非固定模式)。
3、获取子目录、文件
?
通过上述的方法我们可以完成目录的遍历功能,所以大家在练习本节的方法时,希望是以完成一个目录遍历的小例子为最终目的,我会在下篇中上传我做的一个目录遍历的程序给大家做参考,希望能给大家提供帮助。
4、获取和设置目录属性
?
5、移动、判断是否存在
?
6、获取卷信息、根信息、当前工作目录
?
总结
以上即为Directory类中为我们提供的可使用方法,并且和File类一样,这些方法都是静态的,通过结合这些方法的使用我们可以完成对目录的所有操作,本文就没有提供相关的范例,在下篇中会提供一个使用以上方法完成的一个简单的目录检索工具。
图1:类图
下面通过实例来看下每个类的使用。
一、File类 File中提供了许多的静态方法,使用这些静态方法我们可以方便的对文件进行读写查等基本操作。
1、读文件
?
?
?
?
?
?
?
?
同时,看到如此多的函数,我们也很清楚的知道,File类已经可以满足我们对文件操作的基本需求了。File类通过静态方法的方式为我们提供了操作文件的途径。
FileInfo类 提供了与File类相同的功能,不同的是FileInfo提供的都是成员方法
1、读文件
?
?
?
?
?
?
?
小结
大家注意到,我们在介绍File类时,所有的操作都是通过静态方法实现的,并且返回值都是具体的值类型(暂且这样说),而在FileInfo中提供的方法不再是静态的,并且返回值都是FileStream类型的,是一个文件流,因此我们在使用FileInfo这个类时还需要结合FileStream类一起使用。
这也算是对File类与FileInfo类的错略的对比。
前面两篇介绍了File类和FileInfo类,对于文件的操作基本够用,但是后面还会补充一下FileStream相关的操作,例如StreamReader和StreamWriter的内容。本文主要介绍Directory类的使用,让我们一起看一下Directory类为我们提供了哪些操作。
Directory类 提供了大量的操作目录的静态方法,下面我们一一学习一下。
1、创建目录
?
2、删除目录
?
第二个方法则是可以通过指定第二个参数来控制是否递归删除子目录,因此,建议在使用时先使用第一个方法,当捕获到异常时,再提示使用第二个方法递归删除(此处只是个人建议,并非固定模式)。
3、获取子目录、文件
?
4、获取和设置目录属性
?
?
?
总结
以上即为Directory类中为我们提供的可使用方法,并且和File类一样,这些方法都是静态的,通过结合这些方法的使用我们可以完成对目录的所有操作,本文就没有提供相关的范例,在下篇中会提供一个使用以上方法完成的一个简单的目录检索工具。
相关文章推荐
- C# 文件操作详解(一)---------File类
- C# 文件操作详解(一)---------File类
- C#操作INI配置文件示例详解
- C#中File类的文件操作方法详解
- C#基础------File类操作文件
- C#文件操作常用相关类(Directory类、File类、Path类)
- C#文件操作常用相关类(Directory类、File类、Path类)
- C#的File类实现文件操作实例详解
- C#中File类的文件操作方法详解
- C#中File类的文件操作方法详解
- C# 文件操作 File类和FileInfo类
- C# 文件操作详解(二)---------FileInfo类
- c#中使用api(shfileoperation)进行文件操作,特别详解了回收站相关参数
- C#文件操作-File类
- 灰灰虫的家---ADO.NET+DataList+GridView内容详解+C#基础+C#操作XML文件
- C#中的文件流StreamReader、StreamWriter和File类等操作
- Qt模拟C#的File类对文件进行操作
- C#中File类的文件操作方法详解
- C#中File类的文件操作方法详解
- C#文件操作-File类和FileInfo类有什么区别?