首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

二进制文件的读写,该怎么解决

2012-02-03 
二进制文件的读写privatevoidbutton3_Click(objectsender,EventArgse){BinaryWriterbwFileStreamfsnewFi

二进制文件的读写
private   void   button3_Click(object   sender,   EventArgs   e)
                {
                   
                        BinaryWriter   bw;
         
                        FileStream   fs   =   new   FileStream( "c:\\mydata.data ",   FileMode.Create);
                        bw   =   new   BinaryWriter(fs);
                        for   (int   i   =   0;   i   <   200;   i++)
                                bw.Write( "dgdfgdfgdfg ");//写入
                        bw.Close();//关闭

                    }

                private   void   button4_Click(object   sender,   EventArgs   e)
                {
                        BinaryReader   br;
                        string   str   =   " ";
                        FileStream   fs   =   new   FileStream( "c:\\mydata.data ",   FileMode.Open);
                        br   =   new   BinaryReader(fs);
                        for   (int   i   =   0;   i   <   fs.Length   /   4;   i++)
                                str   +=   br.ReadInt32().ToString();
                        textBox2.Text   =   str;


                }      

读出来全是:168449741917178561021734763623168449741917178561021734763623168449741917178561021734763623168449741917178561021734763623168449741917178561021734763623.......

我想问一下,怎么样将读出来的数据转换为写进去的数据呢

[解决办法]
这就是ascii码,你按字符读取

[解决办法]
摘录:《程序员秘书》--源代码--目录及文件--读写二进制文件
立即成为编程经验丰富的程序员不是梦,详见:http://www.psec.net.cn

6、在Form1.cs的视图设计器中,选中button1,在属性框中选中事件,双击Click,在Form1.cs的代码设计器中,添加修改如下代码
private void button1_Click(object sender, EventArgs e)
{
SaveFileDialog SaveFileDialog1 = new SaveFileDialog();
if (SaveFileDialog1.ShowDialog() == DialogResult.OK)
{
FileStream FS = new FileStream(SaveFileDialog1.FileName, FileMode.Create);//文件不存在则新建
BinaryWriter BWriter = new BinaryWriter(FS);//以二进制打开文件流
byte[] buffer = Encoding.Default.GetBytes(richTextBox1.Text);//可以用不同的字符编码
BWriter.Write(buffer, 0, buffer.Length);
BWriter.Close();


FS.Close();
MessageBox.Show(this, "写入文件完成。 ", "信息提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
7、在Form1.cs的视图设计器中,选中button2,在属性框中选中事件,双击Click,在Form1.cs的代码设计器中,添加修改如下代码
private void button2_Click(object sender, EventArgs e)
{
OpenFileDialog OpenFileDialog = new OpenFileDialog();
if (OpenFileDialog.ShowDialog() == DialogResult.OK)
{
FileStream FS = new FileStream(OpenFileDialog.FileName, FileMode.OpenOrCreate);//打开文件流
BinaryReader BReader = new BinaryReader(FS);//以二进制读取文件
byte[] buffer = new byte[BReader.BaseStream.Length];
BReader.Read(buffer, 0, buffer.Length);//读取文件内容
richTextBox2.Text = Encoding.Default.GetString(buffer);//字符编码要与写入时相同
BReader.Close();
FS.Close();
MessageBox.Show(this, "读取文件完成。 ", "信息提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}

[解决办法]
br.ReadString();
写的什么就读什么!!


[解决办法]
同楼上
读字符串怎么会用ReadInt32

热点排行