📜  c# 读取逗号分隔的文本文件 - C# (1)

📅  最后修改于: 2023-12-03 14:39:48.062000             🧑  作者: Mango

C# 读取逗号分隔的文本文件

在C#中,读取逗号分隔的文本文件是一个常见任务。这种类型的文件也被称为CSV文件(逗号分隔值文件)。CSV文件是一种文本文件,它将数据存储为一系列由逗号分隔的值。

读取CSV文件

要读取CSV文件,我们可以使用C#中的StreamReader类和Split()方法来分割逗号分隔的值。下面是一个读取CSV文件的示例代码:

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string filePath = @"C:\data.csv";
        using (var reader = new StreamReader(filePath))
        {
            while (!reader.EndOfStream)
            {
                var line = reader.ReadLine();
                var values = line.Split(',');

                // Do something with the values
                foreach (var value in values)
                {
                    Console.Write($"{value}\t");
                }
                Console.WriteLine();
            }
        }
    }
}

在上面的代码中,我们首先使用StreamReader类来打开CSV文件并读取其内容。while循环读取文件的每一行,然后使用Split()方法将每一行分割为逗号分隔的值。我们可以遍历这些值并按需执行必要的操作。

异常处理

当读取CSV文件时,可能会出现各种异常。下面是一个示例代码,用于捕获并处理可能出现的异常:

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string filePath = @"C:\data.csv";
        try 
        {
            using (var reader = new StreamReader(filePath))
            {
                while (!reader.EndOfStream)
                {
                    var line = reader.ReadLine();
                    var values = line.Split(',');

                    // Do something with the values
                    foreach (var value in values)
                    {
                        Console.Write($"{value}\t");
                    }
                    Console.WriteLine();
                }
            }
        }
        catch (IOException e)
        {
            Console.WriteLine($"An IO exception occurred: {e.Message}");
        }
        catch (Exception e)
        {
            Console.WriteLine($"An exception occurred: {e.Message}");
        }
    }
}

在上面的代码中,我们使用了一个try块来捕获可能出现的IO异常和其他异常。如果发生异常,将向控制台输出相应的错误消息。

结论

在C#中,读取逗号分隔的文本文件并不困难。我们可以使用StreamReader类和Split()方法来轻松地读取CSV文件中的数据。在读取文件时,我们应该注意处理可能出现的异常,以确保程序的稳定性。