使用C#操作文件

读写文本文件

  使用C#读写文本文件需要5个步骤:

    1.创建文件流

    2.创建阅读器或者写入器

    3.执行读写操作

    4.关闭阅读器或者写入器

    5.关闭文件流

  例

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using System.IO;        //引入命名空间
 7 
 8 namespace Demo
 9 {
10     class Program
11     {
12         static void Main(string[] args)
13         {
14             //创建文件流
15             FileStream stream = new FileStream("filePath", FileMode.Create);
16             //创建写入器
17             StreamWriter writer = new StreamWriter(stream);
18             //写入内容
19             writer.Write("写入");
20             //关闭写入器
21             writer.Close();
22             //关闭文件流
23             stream.Close();
24         }
25     }
26 }

  其中FileStream中的FileMode指的是打开文件的模式,可以根据字面意思来理解,Create就是创建一个文件。

  读取文件只是将StreamWriter换成StreamReader。其他的都可以按照文字变成英语来替换。

  创建StreamWriter一般有两个参数,一个是FileStream对象,一个是Encoding字符编码,常用的是Default。解决乱码问题。

 

文件操作

  File类:(静态)

      Exists(string path)用于检查指定文件是否存在,有返回值,bool类型。

      Copy(string sourceFilePath,string destinationFilePath)将指定路径的源文件中的内容复制到目标文件中,如果目标文件不存在,则在指定路径中新建一个文件。

      Move(string sourceFilePath,string destinationFilePath)将指定文件移到一个新的路径。

      Delete(string path)删除指定的文件,如果指定的文件不存在,则不引发异常。

  FileInfo类:(实例)

      属性:

          Exists:用于检查指定文件是否存在,返回一个布尔值。

          Extension:获取表示文件扩展名部分的字符串。

          Name:获取文件名。

          FullName:获取目录或文件的完整目录。

      方法:

          CopyTo(string)将现有文件复制到新文件,不允许覆盖现有文件。

          Delete()永久删除文件。

          MoveTo(string)将指定文件移到新位置(string)。

 

文件夹操作

  Directory类:(静态)

      Exists(string path)用于检查指定文件夹在磁盘上是否存在。

      Move(string sourceDirName,string destDirName)用于将文件或目录及其内容移到新位置。

      Delete(string path,bool recursive)删除指定目录,如果recursive值为true,则删除子目录中的所有的目录内容。

  DirectoryInfo类:(实例)

      方法与Directory类的方法一致。

      GetDirectories():返回当前目录的子目录对象数组,Directory类也有这个方法,但返回值是当前目录的子目录的名称数组。

      GetFiles():该方法返回当前目录下的文件列表(FileInfo对象数组)。Directory类也有这个方法,但返回值是指定目录下的文件名数组。

 

使用静态方法和实例方法操作文件的区别

  使用静态方法时每次都会进行安全检查,如果想要多次使用某个文件对象,可以使用实例方法,不必每次都进行安全检查。

 

posted @ 2017-03-12 14:05  南橘  阅读(460)  评论(0编辑  收藏  举报
蜘蛛