用Csharp语言如何读取文本文件中的第十行的第1至5个字符?麻烦大家帮忙解答一下啦。

用Csharp语言如何读取文本文件中的第十行的第1至5个字符?麻烦大家帮忙解答一下啦。,第1张

using System

using System.Collections.Generic

using System.Linq

using System.Text

using System.Threading.Tasks

using System.IO

namespace ConsoleApplicationDemo

{

    class Program

    {

        public static string ReadFile(string path,int row)

        {

            StreamReader sr = new StreamReader(path, Encoding.Default)

            string result = ""

            string line = null

            int index = 0

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

            {

                index++

                if (index == row) {

         搜物  世消液         result = line.Substring(0,5)

                    break

                }

            }

            return result

        }

        static void Main(string[] args)

        {

            Console.WriteLine(ReadFile("d:\\data.txt",10))

           桥斗 Console.ReadKey()

        }

    }

}

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

从简者搜速度角度来看:

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

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

所以是第一种快。

从空间占用角度来看:

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

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

所以是第一种省空间。

从程序书写角度来看:

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

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

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

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

在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等来简化开发过程。


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

原文地址: https://outofmemory.cn/tougao/8202143.html

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

发表评论

登录后才能评论

评论列表(0条)

保存