您的位置:首页 > 编程语言 > C#

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类一样,这些方法都是静态的,通过结合这些方法的使用我们可以完成对目录的所有操作,本文就没有提供相关的范例,在下篇中会提供一个使用以上方法完成的一个简单的目录检索工具。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: