返回首页
当前位置: 主页 > 网络编程 > .Net实例教程 >

C#-文件I / O

时间:2020-01-22 16:50来源:知行网www.zhixing123.cn 编辑:麦田守望者

 一个文件是存储在一个特定的名称和目录路径的磁盘数据的集合。打开文件进行读取或写入时,它成为

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

C#I / O类

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

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

序号 I / O类别和说明
1个

BinaryReader

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

2

BinaryWriter

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

3

缓冲流

字节流的临时存储。

4

目录

帮助操纵目录结构。

5

DirectoryInfo

用于对目录执行操作。

6

DriveInfo

提供驱动器的信息。

7

文件

帮助处理文件。

8

文件信息

用于对文件执行操作。

9

文件流

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

10

内存流

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

11

路径

对路径信息执行操作。

12

StreamReader

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

13

StreamWriter

用于将字符写入流。

14

字符串阅读器

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

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);
序号 参数及说明
1个

文件模式

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

  • 追加 -它打开一个现有文件,并将光标置于文件末尾;如果文件不存在,则创建该文件。

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

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

  • 打开 -打开现有文件。

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

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

2

文件存取

FileAccess枚举器具有成员:ReadReadWriteWrite

3

文件共享

FileShare枚举器具有以下成员-

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

  •  -拒绝共享当前文件

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

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

  • 写入 -允许打开文件进行写入

以下程序演示了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个 读取和写入文本文件

它涉及读取和写入文本文件。的StreamReaderStreamWriter的类可以帮助来完成它。

2 读取和写入二进制文件

它涉及读取和写入二进制文件。BinaryReader在的BinaryWriter类可以帮助实现这一目标。

3 操纵Windows文件系统

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

------分隔线----------------------------
标签(Tag):
------分隔线----------------------------
推荐内容
  • C#-属性

    一个 属性 是一个用于传递信息至约各种元件等的类,方法,结构,统计员,组件等在你的...

  • C#-文件I / O

    一个 文件 是存储在一个特定的名称和目录路径的磁盘数据的集合。 打开文件进行读取或...

  • C#-异常处理

    例外是在程序执行期间出现的问题。 AC#异常是对程序运行时出现的异常情况的一种响应...

  • C#-预处理程序指令

    预处理器指令向编译器发出指令,以在实际编译开始之前对信息进行预处理。 所有预处理...

  • C#-命名空间

    一个 命名空间 是专为提供一种方法来保持一组的名称从彼此分离。 在一个名称空间中声...

  • C#-接口

    接口定义为所有继承该接口的类都应遵循的语法约定。 该接口定义了 语法合同 的 什么 ...

猜你感兴趣