C# - 文件 I/O


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

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

C# I/O 类

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

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

先生。 I/O 类别和描述
1

二进制阅读器

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

2

二进制写入器

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

3

缓冲流

字节流的临时存储。

4

目录

帮助操作目录结构。

5

目录信息

用于对目录执行操作。

6

驱动器信息

提供驱动器的信息。

7

文件

帮助操作文件。

8

文件信息

用于对文件执行操作。

9

文件流

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

10

内存流

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

11

小路

对路径信息进行操作。

12

流阅读器

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

13

流写入器

用于将字符写入流。

14

字符串读取器

用于从字符串缓冲区读取。

15

字符串编写器

用于写入字符串缓冲区。

文件流类

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

您需要创建一个FileStream对象来创建新文件或打开现有文件。创建FileStream对象的语法如下 -

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

例如,我们创建一个 FileStream 对象F来读取名为 example.txt 的文件,如下所示-

FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
   FileShare.Read);
先生。 参数及说明
1

文件模式

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

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

  • 创建- 它创建一个新文件。

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

  • 打开- 它打开一个现有文件。

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

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

2

文件存取

FileAccess枚举器具有成员:ReadReadWriteWrite

3

文件共享

FileShare枚举器具有以下成员 -

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

  • None - 它拒绝共享当前文件

  • 读取- 它允许打开文件进行读取。

  • 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 -1

C# 中的高级文件操作

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

先生。 主题和描述
1 读取和写入文本文件

它涉及读取和写入文本文件。StreamReader和StreamWriter类有助于完成它。

2 读取和写入二进制文件

它涉及读取和写入二进制文件。BinaryReader和BinaryWriter类有助于完成此任务

3 操作 Windows 文件系统

它使 C# 程序员能够浏览和定位 Windows 文件和目录。