【发布时间】:2015-10-26 02:31:30
【问题描述】:
我想创建一个十六进制编辑器来打开大型二进制文件。 这是我的代码。它适用于小文件。但是当我打开大文件时,十六进制编辑器会遇到问题。
data[] ... array of byte
string str = "";
byte[] temp = null;
int i;
for (i = 0; i < (data.Length - 16); i += 16)
{
temp = _sub_array(data, i, 16);
str += BitConverter.ToString(temp).Replace("-", "\t");
str += "\n";
}
temp = _sub_array(data, i, (data.Length - i));
str += BitConverter.ToString(temp).Replace("-", "\t");
richTextBox.Text = str;
【问题讨论】:
-
不要将整个文件加载到内存中。在需要时加载必要的部件。
-
考虑使用 StringBuilder 而不是字符串。
-
"十六进制编辑器面临问题" => 问题已通过 solution 解决。
标签: c# hex-editors