在特定地址写二进制文件

时间:2017-05-01 03:57:13

标签: c#

我要做的是读取没有扩展名的空白文件。从那里打开文件并以一定的偏移量读取它。以下是我为此所做的事情:

        private void button1_Click(object sender, EventArgs e)
    {
        OpenFileDialog ofd = new OpenFileDialog();
        ofd.Title = "Open 234cec File";
        if (ofd.ShowDialog() == DialogResult.OK)
        {
            StreamReader sr = new StreamReader(File.OpenRead(ofd.FileName));
            BinaryReader br = new BinaryReader(File.OpenRead(ofd.FileName));

            string Texture1 = null;

            for (int i = 0x2D670DE; i <= 0x2D6712F; i++)
            {
                br.BaseStream.Position = i;
                Texture1 += br.ReadChar().ToString();
            }
            br.Close();

            textBox1.Text = Texture1;
        }
        else
        {
            MessageBox.Show("Error");
        }
    }

该程序运行正常,并在文本框中显示文本内容。

但是,我希望能够使用“保存”按钮从文件框中的内容中回写文件。 即从我在文本框中修改的内容,然后将其保存回我的文件(在指定的地址),而不更改文件大小(如替换那里的内容)。 我正在阅读的文件是一个类似120MB的大文件,它不仅包含文本,还包含其他十六进制/代码等。

我的问题是,在修改它在文本框中读取的内容后,我对“保存”按钮应该做什么行无能为力。有什么帮助吗?

0 个答案:

没有答案