C#的IO操作主要是针对文件夹和文件的读取和写入操作,下面我们来学习一下相关操作的类。
获取文件信息
Directory和DirectoryInfo
两个类的功能基本相同,区别如下:
- 前者继承System.Object,后者继承抽象类FileSystemInfo;
- 前者是静态类,后者是非静态类,需要new创建实例;
- 前者返回的类型是简单字符串,后者返回的是强类型如FileInfo;
File和FileInfo
区别和Directory一致,下面给出帮助文档,具体的使用方法可以查看帮助:
读取文件
下面给出一个简单的读取文件的例子:
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
为了简化文件的读写操作,我写了一个工具类放到我的开源工程下,有需要得朋友可以直接使用: