【C# 基础精讲】文件读取和写入

【C# 基础精讲】文件读取和写入_第1张图片

文件读取和写入是计算机程序中常见的操作,用于从文件中读取数据或将数据写入文件。在C#中,使用System.IO命名空间中的类来进行文件读写操作。本文将详细介绍如何在C#中进行文件读取和写入,包括读取文本文件、写入文本文件、读取二进制文件和写入二进制文件等操作。

1. 读取文本文件

要读取文本文件,可以使用StreamReader类。以下是一个读取文本文件的示例:

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string filePath = "sample.txt";

        try
        {
            using (StreamReader reader = new StreamReader(filePath))
            {
                string content = reader.ReadToEnd();
                Console.WriteLine("文件内容:");
                Console.WriteLine(content);
            }
        }
        catch (FileNotFoundException)
        {
            Console.WriteLine("文件不存在:" + filePath);
        }
        catch (Exception ex)
        {
            Console.WriteLine("发生异常:" + ex.Message);
        }
    }
}

在上述示例中,我们使用StreamReader打开文件并使用ReadToEnd方法读取整个文件内容。通过using语句,确保在使用完StreamReader后自动释放资源。

2. 写入文本文件

要写入文本文件,可以使用StreamWriter类。以下是一个写入文本文件的示例:

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string filePath = "output.txt";

        try
        {
            using (StreamWriter writer = new StreamWriter(filePath))
            {
                writer.WriteLine("Hello, world!");
                writer.WriteLine("This is a line of text.");
            }

            Console.WriteLine("文件写入成功:" + filePath);
        }
        catch (Exception ex)
        {
            Console.WriteLine("发生异常:" + ex.Message);
        }
    }
}

在上述示例中,我们使用StreamWriter打开文件并使用WriteLine方法写入文本。同样,通过using语句,确保在使用完StreamWriter后自动释放资源。

3. 读取二进制文件

要读取二进制文件,可以使用BinaryReader类。以下是一个读取二进制文件的示例:

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string filePath = "binary.dat";

        try
        {
            using (BinaryReader reader = new BinaryReader(File.OpenRead(filePath)))
            {
                int intValue = reader.ReadInt32();
                double doubleValue = reader.ReadDouble();

                Console.WriteLine("整数值:" + intValue);
                Console.WriteLine("双精度值:" + doubleValue);
            }
        }
        catch (FileNotFoundException)
        {
            Console.WriteLine("文件不存在:" + filePath);
        }
        catch (Exception ex)
        {
            Console.WriteLine("发生异常:" + ex.Message);
        }
    }
}

在上述示例中,我们使用BinaryReader读取二进制文件中的整数和双精度值。

4. 写入二进制文件

要写入二进制文件,可以使用BinaryWriter类。以下是一个写入二进制文件的示例:

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string filePath = "binary_output.dat";

        try
        {
            using (BinaryWriter writer = new BinaryWriter(File.OpenWrite(filePath)))
            {
                int intValue = 42;
                double doubleValue = 3.14159;

                writer.Write(intValue);
                writer.Write(doubleValue);
            }

            Console.WriteLine("二进制文件写入成功:" + filePath);
        }
        catch (Exception ex)
        {
            Console.WriteLine("发生异常:" + ex.Message);
        }
    }
}

在上述示例中,我们使用BinaryWriter写入整数和双精度值到二进制文件。

5. 文件读写的注意事项

  • 在进行文件读写操作时,始终确保正确地处理异常。文件可能不存在、无法访问或者发生其他问题,您应该能够适当地捕获并处理这些异常。

  • 在使用StreamReaderStreamWriter时,使用using语句来自动释放资源。这有助于防止资源泄漏。

  • 对于二进制文件的读写,要确保按照相同的顺序和格式读写数据。不同的数据类型可能占用不同的字节数,需要保持一致。

6. 总结

文件读取和写入是C#中常见的操作,用于从文件中读取数据或将数据写入文件。通过System.IO命名空间中的类,您可以轻松实现文本文件和二进制文件的读写操作。无论是读取文本文件、写入文本文件,还是读取二进制文件、写入二进制文件,都需要注意异常处理、资源释放以及数据格式的一致性。通过掌握文件读写技巧,您可以更好地处理和管理文件数据,从而提高程序的灵活性和功能。

你可能感兴趣的:(C#,基础精讲,c#,数据库,服务器)