📜  C# – 从文件中读取行直到到达文件末尾

📅  最后修改于: 2022-05-13 01:55:24.683000             🧑  作者: Mango

C# – 从文件中读取行直到到达文件末尾

给定一个文件,现在我们的任务是使用 C# 从文件中读取行直到文件末尾。在从文件中读取行之前,我们必须有一些数据,所以首先我们需要在路径中有一个空文件,然后在我们的文件中插入行,然后我们从文件中读取行。因此,为了完成这项任务,我们使用了两个基本操作,即读取和写入。当我们打开文件进行写入和读取时,文件就变成了一个流,这里的流是指用于通信的字节序列。因此,对于我们的任务,我们使用:

路径:要从任何来源读取文件,我们必须需要位置/路径。路径是包含系统中文件路径的字符串。

@"c:\folder\file_name.txt"

我们将使用 File.Exists(path) 方法检查文件是否存在于路径中

StreamWriter: StreamWriter 用于将数据/行的流写入文件。

StreamWriter sw = new StreamWriter(myfilepath)

StreamReader: StreamReader 用于从文件中读取数据/行流。

StreamReader sr = new StreamReader(myfilepath)

Peek:用于从文件中读取数据/行直到文件末尾。

StreamReaderObject.Peek()

所以所有都放在 try() 块中以捕获发生的异常。

示例:考虑路径和文件是:


C#
// C# program to read lines from a file
// until the end of file is reached
using System;
using System.IO;
 
class GFG{
     
public static void Main()
{
     
    // File name is data
    // File path is the following path
    string myfilepath = @"c:\sravan\data.txt";
    try
    {
         
        // Check if file exists or not
        if (File.Exists(path))
        {
            File.Delete(path);
        }
         
        // Write data into file using StreamWriter through the path
        using (StreamWriter sw = new StreamWriter(myfilepath))
        {
            sw.WriteLine("hello");
            sw.WriteLine("geeks for geeks");
            sw.WriteLine("welcome to c#");
          
        }
         
        // Read the file present in the path
        using (StreamReader sr = new StreamReader(myfilepath))
        {
             
            // Iterating the file
            while (sr.Peek() >= 0)
            {
                 
                // Read the data in the file until the peak
                Console.WriteLine(sr.ReadLine());
            }
        }
    }
     
    // Caught the exception
    catch (Exception e)
    {
        Console.WriteLine("The process failed: {0}", e.ToString());
    }
    Console.Read();
}


输出

hello
geeks for geeks
welcome to c#

查看文件数据是否插入: