vs文本文件的多行读写

vs文本文件的多行读写,第1张

在C#中,可以使用StreamReader和StreamWriter类来实现VS文本文件的多行读写。

1. 多行读取

```csharp

using (StreamReader sr = new StreamReader("file.txt"))

{

string line

while ((line = sr.ReadLine()) != null)

{

//处理每一行数据

Console.WriteLine(line)

}

}

```

上述代码中,我们首先创建一个StreamReader对象,并指定要读取的文件路径。然后通过while循环逐行读取文件内容,直到结束为止。每次读取都会返回当前行的字符串形式(不包括换行符),并将其存储在变量line中。

2. 多行写入

```csharp

using (StreamWriter sw = new StreamWriter("file.txt"))

{

for (int i = 0i <lines.Lengthi++)

{

//向文件写入一条记录

sw.WriteLine(lines[i])

}

}

```

上述代码中,我们首先创建一个StreamWriter对象,并指定要写入的文件路径。然后通过for循环遍历所有需要写入的数据,并调用WriteLine方法将其逐个写入到文件中。

注意,在使用完StreamReader或StreamWriter之后应该及时关闭它们以释放资源:

```csharp

sr.Close()

sw.Close()

```

以上就是VS文本文件多行读写 *** 作的基本示例。如果需要更加高效、灵活地进行大规模文本处理,则可以考虑使用第三方库如CsvHelper等来简化开发过程。

如果楼主只是想将文件内容顺序输出的话,那么

从速度角度来看:

第一种即读即写,只需要遍历一遍文件就可以了。

第二种需要先读文件,再遍历缓存数组中的元素做输出。

所以是第一种快。

从空间占用角度来看:

第一种不需要有额外的数组做缓存。

第二种需要额外的数组做缓存,如果文件比较大的话,对内存是很大的消耗。

所以是第一种省空间。

从程序书写角度来看:

第一种使用了using,自动关闭StreamReader,而且有异常捕获,程序相对比较健壮。而且代码很简洁。

第二种,首先没有捕获异常,当然如果是故意抛给上级调用处理倒也可以。但这里虽然手动调用了objReader.Close(),一旦在之前出现异常,就会有objReader实际没有关闭的隐患。而且对sLine做了两次非空判断,其实完全可以合为一个。

所以第一种的代码简洁易看,而且健壮。

所以总的来说,第一种好于第二种


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11693390.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存