下面我将详细讲解“几分钟搞懂c#之FileStream对象读写大文件(推荐)”的完整攻略。
1. FileStream对象读取大文件
1.1 创建一个FileStream对象
首先我们需要创建一个FileStream
对象。FileStream
对象是用来读写文件的。它的构造函数有三个参数:
- 文件的路径
- 操作文件的模式,如读取/写入等
- 文件权限,如读取/写入等
下面是一个创建FileStream
对象的示例代码:
string filePath = "D:\\bigFile.txt";
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
上述代码,我们创建了一个FileStream
用来读取D:\bigFile.txt
文件。
1.2 读取文件内容
创建好了FileStream
对象,下一步就可以读取文件内容了。我们可以使用StreamReader
来读取文件内容。StreamReader
的构造函数也有几个参数,其中一个就是传入FileStream
对象。
string line;
using (StreamReader reader = new StreamReader(fs))
{
while ((line = reader.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
上述代码中,我们使用StreamReader
对象来读取文件中的每行内容。while
循环会一直读取,直到文件末尾。
1.3 关闭FileStream和StreamReader对象
读取完文件后,我们应该及时关闭FileStream
和StreamReader
对象。这是为了保证资源的有效利用和释放。
fs.Close();
reader.Close();
2. FileStream对象写入大文件
下面我们来看如何使用FileStream
对象来写入大文件。
2.1 创建一个FileStream对象
同样的,我们需要创建一个FileStream
对象。不同的是,在创建对象时我们需要指定操作文件的模式为FileMode.Create
和文件权限为FileAccess.Write
。
string filePath = "D:\\bigFile.txt";
FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write);
上述代码,我们创建了一个FileStream
用来写入D:\bigFile.txt
文件。
2.2 写入文件内容
写入文件内容和读取内容的方式类似。我们可以使用StreamWriter
来写入内容。
using (StreamWriter writer = new StreamWriter(fs))
{
for (int i = 0; i < 10000000; i++)
{
writer.WriteLine("Line " + i.ToString());
}
}
上述代码中,我们使用StreamWriter
对象来向文件中写入内容。
2.3 关闭FileStream和StreamWriter对象
写入文件结束后,我们应该及时关闭FileStream
和StreamWriter
对象。
fs.Close();
writer.Close();
示例说明
下面是两个示例说明。
示例一:读取文件
假设我们有一个大文件 D:\bigFile.txt
,我们需要读取文件中的所有内容。
string filePath = "D:\\bigFile.txt";
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
string line;
using (StreamReader reader = new StreamReader(fs))
{
while ((line = reader.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
fs.Close();
reader.Close();
上述代码中,我们创建了一个FileStream
对象用来读取D:\bigFile.txt
文件。然后使用StreamReader
对象来读取文件中的每行内容。最后,我们及时关闭了FileStream
和StreamReader
对象。
示例二:写入文件
假设我们需要写入一亿行数据到一个文件中,文件路径为D:\bigFile.txt
。
string filePath = "D:\\bigFile.txt";
FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write);
using (StreamWriter writer = new StreamWriter(fs))
{
for (int i = 0; i < 100000000; i++)
{
writer.WriteLine("Line " + i.ToString());
}
}
fs.Close();
writer.Close();
上述代码中,我们创建了一个FileStream
对象用来写入D:\bigFile.txt
文件。然后使用StreamWriter
对象来向文件中写入一亿行数据。最后,我们及时关闭了FileStream
和StreamWriter
对象。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:几分钟搞懂c#之FileStream对象读写大文件(推荐) - Python技术站