C# 面试题 目录

C# 中如何进行二进制文件的读写?

推荐答案

在C#中,可以使用FileStream类结合BinaryReaderBinaryWriter类来进行二进制文件的读写操作。以下是一个简单的示例代码:

-- -------------------- ---- -------
----- -------
----- ----------

----- -------
-
    ------ ---- ------
    -
        ------ -------- - --------------

        -- -------
        ----- ----------- -- - --- -------------------- -----------------
        ----- ------------- ------ - --- -----------------
        -
            ------------------ -- ----
            -------------------- -- --------
            -------------------- --------- -- -----
        -

        -- -------
        ----- ----------- -- - --- -------------------- ---------------
        ----- ------------- ------ - --- -----------------
        -
            --- -------- - ------------------- -- ----
            ------ ----------- - -------------------- -- --------
            ------ ----------- - -------------------- -- -----

            ------------------------ ----------- ------- -------------- ------- ----------------
        -
    -
-

本题详细解读

1. 写入二进制文件

  • FileStreamFileStream类用于打开或创建文件。在写入文件时,我们使用FileMode.Create模式,这会创建一个新文件,如果文件已存在则覆盖它。

  • BinaryWriterBinaryWriter类提供了写入二进制数据的方法。它可以将基本数据类型(如intdoublestring等)写入到流中。

  • 写入数据:使用BinaryWriterWrite方法,可以依次写入不同类型的数据。例如,writer.Write(123)写入一个整数,writer.Write(45.67)写入一个双精度浮点数,writer.Write("Hello, World!")写入一个字符串。

2. 读取二进制文件

  • FileStream:在读取文件时,我们使用FileMode.Open模式来打开文件。

  • BinaryReaderBinaryReader类提供了读取二进制数据的方法。它可以从流中读取基本数据类型。

  • 读取数据:使用BinaryReader的相应方法读取数据。例如,reader.ReadInt32()读取一个整数,reader.ReadDouble()读取一个双精度浮点数,reader.ReadString()读取一个字符串。读取顺序必须与写入顺序一致,否则会导致数据读取错误。

3. 注意事项

  • 顺序一致性:读取数据时必须按照写入的顺序进行读取,否则会导致数据解析错误。

  • 资源管理:使用using语句可以确保FileStreamBinaryReaderBinaryWriter在使用完毕后自动释放资源,避免资源泄漏。

  • 异常处理:在实际应用中,建议添加异常处理逻辑,以应对文件不存在、权限不足等异常情况。

纠错
反馈