C# 程序逐行读取文件内容

2023年 8月 29日 36.5k 0

C# 程序逐行读取文件内容

简介

在这里,我们将学习编写一个 C# 程序来逐行读取文件内容。有多种方法可以做到这一点。我们将一一讨论。

文件处理是用 C# 完成的。大多数情况下,文件用于存储数据。通俗地说,文件处理或文件管理是各种过程,例如创建文件、读取文件、写入文件、附加文件等。文件的读取和写入是文件处理中最常见的两个操作。

1。使用 File.ReadLines() 方法

逐行读取文件内容的第一种方法是使用 File.ReadLines() 方法。此方法接受字符编码作为可选参数。

嗯,这个过程可能会抛出一些异常,如IO异常。如果发生 I/O 错误,则会抛出此错误;如果找不到尝试打开的文件,则会抛出另一个错误 FileNotFoundException。

此过程也有一个缺点,因为当您处理大文件时,此技术效率相当低。这将返回 Enumerable,通过它我们可以在返回整个集合之前开始枚举。

算法

下面的算法将给出使用 File.ReadLines() 方法逐行读取文件内容的分步过程。

下面讨论的算法将引导我们创建程序。

第 1 步 − 创建一个字符串来存储文件路径的名称,记住这是一个绝对路径。

第 2 步 − 在逐行读取文件时,使用 IEumerable 获取最终结果。

第 3 步 − 通过使用Environment.Newline 获取为环境定义的换行符字符串。然后程序结束。

示例

以下是此过程的代码 -

using System;
using System.Collections.Generic;
using System.IO;

public class Example {
public static void Main() {
string fileloc = @"D:ttptlocew.txt";

IEnumerable lines = File.ReadLines(fileloc);
Console.WriteLine(String.Join(Environment.NewLine, lines));
}
}

登录后复制

输出

This is a file.
Hello from tutorials point.

登录后复制登录后复制登录后复制

首先需要创建一个字符串类型的变量,其中包含文件位置的地址。之后,在程序中逐行读取文件。

2。使用 File.ReadAllLines() 方法

另一种逐行读取文件内容的方法是使用 File.ReadAllLines() 方法。对于大数据文件,我们不应该将 ReadAllLines 用作 ReadAllLines,与返回 Enumerable 的 ReadLines 不同,ReadAllLines 给出一个包含文件所有行的字符串数组,我们必须等待返回整个字符串数组才能访问该数组。

此方法接受字符编码作为可选参数,类似于 ReadLines 的做法。那么这个过程可能会抛出一些异常,比如IO Exception。如果发生 I/O 错误,则会抛出此错误;如果找不到尝试打开的文件,则会抛出另一个错误 FileNotFoundException。

算法

下面的算法将给出使用 File.ReadAllLines() 方法逐行读取文件内容的分步过程。

下面讨论的算法引导我们创建程序。

第 1 步 − 创建一个字符串来存储文件路径的名称,记住这是一个绝对路径。

第 2 步 − 接下来,程序使用 ReadAllLines 打开一个文本文件,读取其所有行,然后结束它。

p>

第 3 步 − 通过使用Environment.Newline获取为环境定义的换行符字符串。然后程序结束。

示例

以下是此过程的代码 -

using System;
using System.IO;

public class Example {
public static void Main() {
string fileloc = @"D:ttptlocew.txt";
string[] lines = File.ReadAllLines(fileloc);
Console.WriteLine(String.Join(Environment.NewLine, lines));
}
}

登录后复制

输出

This is a file.
Hello from tutorials point.

登录后复制登录后复制登录后复制

首先需要创建一个字符串类型的变量,其中包含文件位置的地址。之后,在程序中逐行读取该文件。在这里,不同之处在于这些行是在字符串中读取的。它们都是在程序中使用string.join时连接起来的。

3。使用 StreamReader.ReadLine() 方法

还有一种通过 StreamReader 类逐行读取文件的方法。该方法是StreamReader.ReadLine()。这将运行到文件末尾。

它的工作原理是从当前流中读取一行文本并将其作为字符串返回。这将返回输入流中的下一行,如果输入流已结束,则返回 null。这样它就到达了文件的末尾。

如果发生任何 I/O 错误,也会出现 I/O 异常。另一个异常是 OutOfMemoryException,当没有足够的内存为返回的字符串创建缓冲区时会发生这种情况。

算法

下面的算法将给出使用 StreamReader.ReadLine() 方法逐行读取文件内容的分步过程。

下面讨论的算法将引导我们创建程序。

第 1 步 − 创建一个字符串来存储文件路径的名称,记住这是一个绝对路径。

第 2 步 −  创建一个新的读取来读取文件的内容。

第 3 步 − while 循环运行到文件末尾。当它达到 null 时就确定结束。

第 4 步 − 最终,代码在读取文件内容后退出。

示例

以下是该过程的代码 -

using System;
using System.IO;

public class Example {
public static void Main() {
string fileloc = @"D:ttptlocew.txt";

using (StreamReader read = new StreamReader(fileloc)) {
string line;
while ((line = read.ReadLine()) != null) {
Console.WriteLine(line);
}
}
}
}

登录后复制

输出

This is a file.
Hello from tutorials point.

登录后复制登录后复制登录后复制

在此方法中,也首先使用文件地址创建一个字符串。然后创建一个读取实例。它通过逐行读取内容到达空值,即文件末尾。

时间复杂度

从这里开始,我们正在逐行读取文件,但要一次性读取。无论使用哪种方法,即 File.ReadLines()、Files.ReadAllLines() 和 StreamReader.ReadLine()。他们所有人都在一次读取文件。所以,这里每个方法的时间复杂度都是O(1)。

结论

在本文中,我们广泛讨论了逐行读取文件内容的 C# 程序。我们了解了如何通过三种不同的方式来完成它。 File 类中的两个函数是 ReadLines() 和 ReadAllLines()。第三个来自 StreamReader 类。然后我们讨论了三种技术的代码和算法。我们希望本文能够帮助您增强有关 C# 的知识。

以上就是C# 程序逐行读取文件内容的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论