当前位置:首页 > 问答

【长虹bin数据怎么写入】学习C#短文-操作BIN文件(读、写、替换)

BIN文件、二进制文件、嵌入式、我们常用的Firmware通常以BIN文件或HEX文件格式存储,因此对BIN文件的读写操作仍然很常见。在这里,我将记录我经常使用的BIN文件操作。

首先,C# Winform具有Binary文件(BIN文件)的默认操作类。如下所示

filestream file _ path=new filestream(文件名、FileMode、file access);

//binary reader bin _ read=new binary reader(file _ path);

binary writerbin _ write=new binary writer(file _ path);如果要读取BIN文件(如上所示),请定义自己的BinaryReader如果要写入BIN文件,请定义BInaryWriter。读写的基本操作包括:

读取BIN文件的操作为bin_read .ReadByte():返回读取的Byte值。bin _ read . read bytes(count);返回值是count数的Byte数组。有多种返回格式、int、char等。这里不一一详细说明。

写入BIN文件的操作为:bin_wri(value)。其中,value是要写入的值,value可以采用byte、int或char等格式。Bin _ wri (byte [] buffer,int index,int count);此方法的含义是将buffer数组的某些值(buffer数组的起始索引为index,长度为count)分配给BIN文件的当前位置。

例如,我要写BIN文件,0到255,256个byte。

Using System

Using Sy

Using Sy

Using Sy

Using Sy

Using Sy

Using Sy

Using Sy

Using Sy

Using Sy

Namespace测试

{

public partial classform 1 3360 form

{

Public Form1()

{

initialize component();

}

Private void button1 _ click(对象服务器、事件e)

{

save file dialog save _ file=new save file dialog();

='BIN文件|*。bin ';

If ()==DialogRe)

{

filestream file _ path=new filestream、filemode.openorcreate、fileacce);

binary writerbin _ write=new binary writer(file _ path);//BIN创建文件流

byte[]init _ byte=new byte[256];

for(int temp=0;Temp 256Temp)

{

init _ byte[temp]=(byte)temp;

}

Bin_wri(init_byte,0和256);将内容写入//BIN文件

bin _ wri();

bin _ wri();

();

}

}

}

}文件运行结果如下:

bin文件内容

那么写操作完成了。替换工作该怎么办?实际上,如果要将HEX文件转换为BIN文件,替换功能很有用。例如,要更改其中的一些数字,请参阅代码。

Using System

Using Sy

Using Sy

Using Sy

Using Sy

Using Sy

Using Sy

Using Sy

Using Sy

Using Sy

Namespace测试

{

public partial classform 1 3360 form

{

Public Form1()

{

initialize component();

} private void button1_Click(object sender, EventArgs e) { SaveFileDialog save_file = new SaveFileDialog(); = "BIN文件|*.bin"; if () == DialogRe)//打开文件对话框 { FileStream file_path = new FileStream, FileMode.OpenOrCreate,FileAcce); BinaryWriter bin_write = new BinaryWriter(file_path);//创建BIN文件流 byte[] init_byte = new byte[256]; for (int temp = 0; temp < 256; temp++) { init_byte[temp] = (byte)temp; } bin_wri(init_byte, 0, 256);//初始化BIN文件 Con); //看一下目前文件大小 bin_wri(255, SeekOrigin.Begin);//修改BIN文件当前位置至第255个字节 bin_wri(0x08); //第255个字节改为08 bin_wri(8, SeekOrigin.Begin);//修改BIN文件当前位置至第8个字节 bin_wri((byte)0x01);//第8个字节改为01 bin_wri((byte)0x02);//第9个字节改为02 bin_wri((byte)(0x90));//第10个字节改为90 byte[] buffer = new byte[8]; for (int temp = 0; temp < 8; temp++) { buffer[temp] = (byte)(temp + 1); } bin_wri(128, SeekOrigin.Begin);//修改BIN文件当前位置至第128个字节 bin_wri(buffer, 2, 5);//将Buffer字节数组中的第2到到第7个数赋值到BIN文件的第128到133个字节 bin_wri((byte)(0x90));//第134个字节改为08 Con);//看一下目前的文件大小 (256);//文件大小已经超过256,只保留256个字节 Con);//看一下目前的文件大小 bin_wri();//释放文件资源 bin_wri(); (); } } } }

上述代码的运行结果为:

可以看到,BIN文件相应的位置已经更改完成,并且其他位置也没有出现变动。

这里我需要提一下,在做替换过程中,BIN文件的大小是会发生变化的,因此我用Con)来监控文件的大小变化。控制台输出的结果为:

256,259,256

因此,我在代码的最后将文件的长度强行设置为256.这个不用担心数据,实际测试下来,如果没有(256)语句,那么结果如下:

可以看到后面几个数据是无效的数据,这个可以直接去掉。

以上是我平时比较常用的BIN文件操作。当然,BIN文件的某一位的删除和插入,我还没有比较容易的办法,不过BIN文件的删除或者插入特定字符用的场景非常少,因此没有过多的研究。希望以上内容对大家有所帮助。

1.《【长虹bin数据怎么写入】学习C#短文-操作BIN文件(读、写、替换)》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《【长虹bin数据怎么写入】学习C#短文-操作BIN文件(读、写、替换)》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/why/3089445.html

上一篇

【怎么测试液晶电视主板】长虹新型液晶彩电故障处理2例

【长虹bin数据怎么写入】我的电视机我是主人,长虹Q5K刷过程

  • 【长虹bin数据怎么写入】我的电视机我是主人,长虹Q5K刷过程
  • 【长虹bin数据怎么写入】我的电视机我是主人,长虹Q5K刷过程
  • 【长虹bin数据怎么写入】我的电视机我是主人,长虹Q5K刷过程
【长虹bin数据怎么写入】长虹等离子总线法u盘升级方法及技术创新

【长虹bin数据怎么写入】长虹等离子总线法u盘升级方法及技术创新

长虹bin数据怎么写入相关介绍,PP06移动: 适用型号:PT4206、PT4206B、PT4206C、PT4206H、PT4208、PT4208L 进入和退出总线:按住音量“0”、遥控器“静音”按钮,然后按主“菜单”键进入。用遥控...

【长虹bin数据怎么写入】长虹ZLS53G-i移动液晶彩电在线升级方法和步骤

【长虹bin数据怎么写入】长虹ZLS53G-i移动液晶彩电在线升级方法和步骤

长虹bin数据怎么写入相关介绍,步骤1,将升级程序复制到USB根目录。文件名必须使用设计中提供的名称。ZLS53Gi_V0.00144.bin步骤2、打开主机、切换源、切换到电视源、在USB1界面中插入USB闪存盘步骤3、在设置-服...

【长虹bin数据怎么写入】EMMC芯片TV板直写制造商启动程序

  • 【长虹bin数据怎么写入】EMMC芯片TV板直写制造商启动程序
  • 【长虹bin数据怎么写入】EMMC芯片TV板直写制造商启动程序
  • 【长虹bin数据怎么写入】EMMC芯片TV板直写制造商启动程序

【长虹bin数据怎么写入】MySQL中的binlog和redo log写原则

  • 【长虹bin数据怎么写入】MySQL中的binlog和redo log写原则
  • 【长虹bin数据怎么写入】MySQL中的binlog和redo log写原则
  • 【长虹bin数据怎么写入】MySQL中的binlog和redo log写原则
【长虹bin数据怎么写入】长虹智能电视工程模式详解

【长虹bin数据怎么写入】长虹智能电视工程模式详解

长虹bin数据怎么写入相关介绍,电视品牌和型号:长虹LED39C2080i 固件版本:V1.0000160 前言:长虹智能电视的工程模式(有时候也叫工厂模式,工厂菜单,暗黑模式,隐藏高级菜单等等)。本文统一称呼工程模式。 警告:工程...

【长虹bin数据怎么写入】14-共享智能电视板修复教程-推送主要新功能(1)

  • 【长虹bin数据怎么写入】14-共享智能电视板修复教程-推送主要新功能(1)
  • 【长虹bin数据怎么写入】14-共享智能电视板修复教程-推送主要新功能(1)
  • 【长虹bin数据怎么写入】14-共享智能电视板修复教程-推送主要新功能(1)

【长虹bin数据怎么写入】11-共享智能电视主板维护教程(推送伟大的新功能)

  • 【长虹bin数据怎么写入】11-共享智能电视主板维护教程(推送伟大的新功能)
  • 【长虹bin数据怎么写入】11-共享智能电视主板维护教程(推送伟大的新功能)
  • 【长虹bin数据怎么写入】11-共享智能电视主板维护教程(推送伟大的新功能)