0%

读取二进制文件中的内容

  • 来源:明日科技
  • 读取二进制文件中的内容


    实例说明

    本实例实现读取二进制文件中的内容,首先选择要读取的二进制文件,然后程序将该二进制文件的内容输出到窗体下方的TextBox控件中。实例运行效果如图1所示。

    图1 读取二进制文件中的内容

    关键技术

    本实例实现时主要用到了BinaryWriter类的构造方法和ReadInt32方法,下面对本实例中用到的关键技术进行详细讲解。 BinaryWriter类的ReadInt32方法实现从当前流中读取 4 字节有符号整数,并使流的当前位置提升 4 个字节。其声明语法如下:
    public virtual int ReadInt32()
    参数说明
    返回值:从当前流中读取的 4 字节有符号整数。

    设计过程

    (1)打开Visual Studio 2008开发环境,新建一个Windows窗体应用程序,命名为ReadBinaryFile。
    (2)在默认窗体Form1中添加两个TextBox控件,分别用来显示文件路径和文件内容;添加两个Button控件,分别用来选择二进制文件和显示二进制文件的内容。
    (3)程序主要代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    private void button2_Click(object sender, EventArgs e)
    {
    if (String.IsNullOrEmpty(textBox1.Text.Trim())) //若文件路径为空
    {
    MessageBox.Show("请选择文件");
    return;
    }
    textBox2.Text = string.Empty;
    try
    {
    //根据指定文件路径创建文件流
    FileStream myStream = new FileStream(textBox1.Text, FileMode.Open, FileAccess.Read);
    BinaryReader myReader = new BinaryReader(myStream); //创建BinaryReader对象以读取二进制文件
    for (int i = 0; i < myStream.Length; i++) //遍历文件流
    {
    textBox2.Text += myReader.ReadInt32();//从当前流中读取 4 字节有符号整数
    }
    myReader.Close(); //关闭当前流
    myStream.Close(); //关闭文件流
    }
    catch { }
    }

    秘笈心法

    心法领悟012:创建只读文件流。
    若要创建一个只读的文件流,则需要把FileStream构造方法的第二个枚举参数值设置为FileMode.Open,另外还需要把该构造方法的第三个枚举参数值设置为FileAccess.Read。

    觉得文章有用?请我喝杯咖啡~