C# - 文件I / O.

文件是存储在具有特定名称和目录路径的磁盘中的数据集合.当打开文件进行读取或写入时,它变为.

流基本上是通过通信路径的字节序列.有两个主要流:输入流输出流. 输入流用于从文件读取数据(读取操作),输出流用于写入文件(写入操作).

C#I/O类

System.IO命名空间有各种类,用于对文件执行大量操作,例如创建和删除文件,读取或写入到文件,关闭文件等.

下表显示了System.IO命名空间中的一些常用的非抽象类 :

Sr.No.I/O Class&说明
1

BinaryReader

从二进制流中读取原始数据.

2

BinaryWriter

以二进制格式写入原始数据.

3

BufferedStream

字节流的临时存储.

4

Directory

帮助操纵目录结构.

5

DirectoryInfo

用于对目录执行操作.

6

DriveInfo

提供驱动器的信息.

7

File

帮助操作文件.

8

FileInfo

用于对文件执行操作.

9

FileStream

用于读取和写入文件中的任何位置.

10

MemoryStream

用于随机访问存储在内存中的流数据.

11

Path

在路径上执行操作信息.

12

StreamReader

用于从字节流中读取字符.

13

StreamWriter

是用于将字符写入流.

14

StringReader

用于从a读取字符串缓冲区.

15

StringWriter

用于写入字符串缓冲区.

FileStream类

System.IO命名空间中的 FileStream 类有助于读取,写入和关闭文件.此类派生自抽象类Stream.

您需要创建 FileStream 对象来创建新文件或打开现有文件.创建 FileStream 对象的语法如下 :

FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>,
   <FileAccess Enumerator>, <FileShare Enumerator>);

例如,我们创建一个FileStream对象 F ,用于读取名为 sample.txt的文件,如图所示 :

FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
   FileShare.Read);

Sr.No.参数&说明
1

FileMode

FileMode 枚举器定义了打开文件的各种方法. FileMode枚举器的成员是 :

  • Append : 它打开一个现有文件并将光标放在文件末尾,或者如果文件不存在则创建文件.

  • Create : 它会创建一个新文件.

  • CreateNew : 它指定操作系统应该创建一个新文件.

  • Open : 它会打开一个现有文件.

  • OpenOrCreate : 它指定操作系统应该打开文件(如果存在),否则应该创建一个新文件.

  • Truncate :它打开一个现有文件并将其大小截断为零字节.

2

FileAccess

FileAccess 枚举者有成员:阅读 ReadWrite .

3

FileShare

FileShare 枚举者拥有以下成员 :

  • Inheritable  : 它允许文件句柄将继承传递给子进程

  • None: 它拒绝分享当前文件

  • Read : 它允许打开文件进行阅读.

  • ReadWrite : 它允许打开文件进行读写

  • Write : 它允许打开文件进行写作

示例

以下程序演示如何使用 FileStream 类 :

using System;
using System.IO;

namespace FileIOApplication {
   class Program {
      static void Main(string[] args) {
         FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate, 
            FileAccess.ReadWrite);
         
         for (int i = 1; i <= 20; i++) {
            F.WriteByte((byte)i);
         }
         F.Position = 0;
         for (int i = 0; i <= 20; i++) {
            Console.Write(F.ReadByte() + " ");
         }
         F.Close();
         Console.ReadKey();
      }
   }
}

编译并执行上述代码时,会产生以下结果 :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

C#中的高级文件操作

前面的示例在C#中提供了简单的文件操作.但是,要利用C#System.IO类的强大功能,您需要知道这些类的常用属性和方法.

Sr.No.主题&说明
1读取和写入文本文件

它涉及读取和写入文本文件. StreamReader StreamWriter 类有助于实现它.

2阅读和写作到二进制文件

它涉及读取和写入二进制文件. BinaryReader BinaryWriter 类有助于实现此目的.

3操作Windows文件系统

它使C#程序员能够浏览和查找Windows文件和目录.