问题描述
我现在正在研究 Huffman 算法,我需要将一些信息写入输出文件(以便解码我所获得的信息):字典(字符及其代码)、添加的零的数量(计数)和字节数组。我试图做这样的事情:
public void WriteInFile()
{
using (StreamWriter sw = new StreamWriter("lab1output.txt"))
{
foreach (keyvaluePair<char,string> pair in Coded)
{
sw.WriteLine(pair);
}
sw.WriteLine(count);
}
using (FileStream fs = new FileStream("lab1output.txt",FileMode.Open))
{
byte[] input = bytedList.ToArray();
fs.Write(input,input.Length);
}
}
例如,我在我的文件中写了“你好”。在我希望得到的输出文件中:
[h,01]
[e,000]
[l,1]
[o,001]
F@(编码字符串)
但我明白了:
F@,001]
6
请告诉我出了什么问题以及如何解决这个问题。谢谢!
编辑: 这是我的字典。
public Dictionary<char,string> Coded = new Dictionary<char,string>();
for (int i = 0; i < infoFromFile.Length; i++)
{
encodedSymbol = this.Root.Traverse(infoFromFile[i],new List<bool>()); // Traverse the tree
if (!Coded.ContainsKey(infoFromFile[i]))
{
Coded.Add(infoFromFile[i],null);
foreach (var e in encodedSymbol)
{
Coded[infoFromFile[i]] += ((e ? 1 : 0) + "");
}
}
encodedMessage.AddRange(encodedSymbol);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)