C# StreamWriter、FileStream 写入

问题描述

我现在正在研究 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]

6(添加的零的数量

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 (将#修改为@)