C# 文件的输入与输出


C# 文件的输入与输出

C# 文件的输入与输出是 C# 编程中非常重要的一个部分。在 C# 中,输入是从外部获取数据的过程,而输出则是将数据呈现给用户或保存数据到外部文件中的过程。本文将介绍如何进行 C# 文件的输入与输出。

文件的输入

使用 C# 进行文件的输入实质上是从文件中读取数据。在 C# 中,可以使用 FileStream 类或者 StreamReader 类来实现文件的输入。

首先,使用 FileStream 类可以方便地读取文件中的数据。其使用方法如下:

FileStream fs = new FileStream(filepath, FileMode.Open);
byte[] data = new byte[fs.Length];
fs.Read(data, 0, data.Length);
fs.Close();

上述代码首先创建了一个 FileStream 对象,通过传入文件路径和打开方式(这里为 FileMode.Open,表示打开文件以进行读取操作),然后定义了一个 byte 数组用于存储文件数据。fs.Read() 方法用于将文件数据读取到这个数组中,其中参数 0 和 data.Length 分别表示起始位置和长度,最后关闭了文件流。

接下来,使用 StreamReader 类也可以实现文件的输入。其使用方法如下:

StreamReader sr = new StreamReader(filepath);
string data = sr.ReadToEnd();
sr.Close();

上述代码首先创建了一个 StreamReader 对象,通过传入文件路径,然后使用 sr.ReadToEnd() 方法将文件数据读取到字符串变量 data 中,最后关闭了流。需要注意的是,StreamReader类默认的编码方式是 UTF-8,如需使用其他编码方式可在构造函数中传入相应的 Encoding 对象。

文件的输出

使用 C# 进行文件的输出实质上是将数据写入到外部文件中。在 C# 中,可以使用 FileStream 类或者 StreamWriter 类来实现文件的输出。

首先,使用 FileStream 类可以方便地将数据写入文件中。其使用方法如下:

FileStream fs = new FileStream(filepath, FileMode.Create);
byte[] data = Encoding.UTF8.GetBytes("output data");
fs.Write(data, 0, data.Length);
fs.Close();

上述代码首先创建了一个 FileStream 对象,通过传入文件路径和打开方式(这里为 FileMode.Create,表示创建文件以进行写入操作),然后定义了一个 byte 数组用于存储输出数据。Encoding.UTF8.GetBytes() 方法用于将字符串编码成字节数组,然后使用 fs.Write() 方法将数据写入到文件中,最后关闭了文件流。

接下来,使用 StreamWriter 类也可以实现文件的输出。其使用方法如下:

StreamWriter sw = new StreamWriter(filepath);
sw.WriteLine("output data");
sw.Close();

上述代码首先创建了一个 StreamWriter 对象,通过传入文件路径,然后使用 sw.WriteLine() 方法将数据写入到文件中,最后关闭了流。需要注意的是,StreamWriter 类默认的编码方式是 UTF-8,如需使用其他编码方式可在构造函数中传入相应的 Encoding 对象。

总结

以上就是 C# 文件的输入与输出的介绍。需要注意的是,在进行文件操作时,要始终保证文件流的关闭,否则可能会导致数据损坏或者泄露的问题。另外,对于大型文件的操作时,需要分批次读取或写入,以免出现内存不足或者运行时间过长的问题。