C#学习笔记(十三):I/O操作

C#的IO操作主要是针对文件夹和文件的读取和写入操作,下面我们来学习一下相关操作的类。

获取文件信息

Directory和DirectoryInfo

两个类的功能基本相同,区别如下:

  1. 前者继承System.Object,后者继承抽象类FileSystemInfo;
  2. 前者是静态类,后者是非静态类,需要new创建实例;
  3. 前者返回的类型是简单字符串,后者返回的是强类型如FileInfo;

File和FileInfo

区别和Directory一致,下面给出帮助文档,具体的使用方法可以查看帮助:

https://msdn.microsoft.com/zh-cn/library/system.io(v=vs.110).aspx

读取文件

下面给出一个简单的读取文件的例子:

 1 using System;

 2 using System.IO;

 3 

 4 namespace Study

 5 {

 6     class Program

 7     {

 8         static void Main(string[] args)

 9         {

10             if (!File.Exists("test.txt"))

11             {

12                 Console.WriteLine("文件不存在!");

13                 Console.Read();

14                 return;

15             }

16 

17             using (StreamReader streamReader = File.OpenText("test.txt"))

18             {

19                 string line;

20                 while ((line = streamReader.ReadLine()) != null)

21                 {

22                     Console.WriteLine(line);

23                 }

24                 streamReader.Close();

25             }

26 

27             Console.Read();

28         }

29     }

30 }

写入文件

下面给出一个简单的写入文件的例子:

 1 using System;

 2 using System.IO;

 3 

 4 namespace Study

 5 {

 6     class Program

 7     {

 8         static void Main(string[] args)

 9         {

10             using (FileStream fileStream = File.Open("test.txt", FileMode.OpenOrCreate))

11             {

12                 TextWriter textWriter = new StreamWriter(fileStream);

13                 textWriter.WriteLine("Hello Li Lei,");

14                 textWriter.WriteLine("I`m Han Meimei.");

15                 textWriter.Flush();

16 

17                 fileStream.Close();

18             }

19 

20             Console.Read();

21         }

22     }

23 }

FileHelper

为了简化文件的读写操作,我写了一个工具类放到我的开源工程下,有需要得朋友可以直接使用:

https://github.com/hammerc/hammerc-framework-unity3d/blob/master/unitysource/4.x/Assets/HammercLib/Utils/FileHelper.cs

你可能感兴趣的:(学习笔记)