主页
  • 主页
  • 分类
  • 热文
  • 教程
  • 面试
  • 标签
C#

C# 基础

C# 主页
C# 概述
C# 环境
C# 程序结构
C# 基本语法
C# 数据类型
C# 类型转换
C# 变量
C# 常量
C# 运算符
C# 决策结构
C# 循环结构
C# 封装
C# 方法
C# 可空类型
C# 数组
C# 字符串
C# 结构体
C# 枚举
C# 类
C# 继承
C# 多态性
C# 操作符重载
C# 接口
C# 命名空间
C# 预处理
C# 正则表达式
C# 异常
C# 文件与流

C# 高级

C# 属性(Attributes)
C# 反射
C# 属性(Properties)
C# 索引器
C# 委托
C# 事件
C# 集合
C# 泛型
C# 匿名方法
C# 不安全代码
C# 线程

基础

C# 主页
C# 概述
C# 环境
C# 程序结构
C# 基本语法
C# 数据类型
C# 类型转换
C# 变量
C# 常量
C# 运算符
C# 决策结构
C# 循环结构
C# 封装
C# 方法
C# 可空类型
C# 数组
C# 字符串
C# 结构体
C# 枚举
C# 类
C# 继承
C# 多态性
C# 操作符重载
C# 接口
C# 命名空间
C# 预处理
C# 正则表达式
C# 异常
C# 文件与流

高级

C# 属性(Attributes)
C# 反射
C# 属性(Properties)
C# 索引器
C# 委托
C# 事件
C# 集合
C# 泛型
C# 匿名方法
C# 不安全代码
C# 线程

C# 文件与流


上一章 下一章

文件与流在 C# 中的应用

文件是一组存储在磁盘上的数据,具有特定的名字和目录路径。当文件被打开用于读取或写入时,它就变成了一个流。

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

C# 输入/输出类

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

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

序号 I/O 类 & 描述
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 用于从字符串缓冲区中读取。
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 枚举定义了打开文件的各种方法。FileMode 枚举的成员包括:Append, Create, CreateNew, Open, OpenOrCreate, Truncate。
2 FileAccess FileAccess 枚举包含成员:Read, ReadWrite, Write。
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 -1

C# 中高级文件操作

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

序号 主题 & 描述
1 从文本文件中读取和写入 利用 StreamReader 和 StreamWriter 类实现从文本文件中读取和写入。
2 从二进制文件中读取和写入 利用 BinaryReader 和 BinaryWriter 类实现从二进制文件中读取和写入。
3 操纵 Windows 文件系统 给予 C# 程序员浏览和定位 Windows 文件和目录的能力。
上一章 下一章
阅读号二维码

关注阅读号

联系二维码

联系我们

© 2024 Yoagoa. All rights reserved.

粤ICP备18007391号

站点地图