从二进制文件读取并显示在列表框中



我希望有人能帮助我解决这个问题,因为我坐了几个小时没有运气。这是我必须完成的练习。要完成的练习

我已经尝试过,但遇到了一个小问题。当我必须从二进制文件中读取并按照指示显示在列表框中时,数据彼此相邻,而不是一个在另一个下面。这是我下面的代码,用于创建文件并进行计算的按钮:

    BinaryWriter bw;
    BinaryReader br;
    private void button1_Click(object sender, EventArgs e)
    {

        //create the file
        bw = new BinaryWriter(new FileStream("mydata", FileMode.Create));
        string val = "";
        string set = "";
        int count = 1;
        double total = 0.0;
        double ave = 0.0;
        string data = "";
        string temp = "";
        string sets = Interaction.InputBox("How many sets would you like to enter ?", "Sets");
        int numSet = int.Parse(sets);
        for (int j = 0; j < numSet; j++)
        {
            val = "";
            set = "";
            data = "";
            ave = 0.0;
            total = 0.0;
            count = 1;
            for (int i = 0; i < 5; i++)
            {
                val = Interaction.InputBox("Enter number " + count + " to store", "Set "+(j+1), "");
                set = set + " " + val;
                total = total + double.Parse(val);
                count++;
            }
            ave = total / 3.0;
            String fave = String.Format("{0:0.00}", ave);
            data = set + " and average: " + fave;
            temp = temp + data + "n";

        }
        bw.Write(temp);
        bw.Close();
    }

此后面的代码是需要从二进制文件中读取并在列表框中输出的代码。

private void button2_Click(object sender, EventArgs e)
    {
        //reading
        br = new BinaryReader(new FileStream("mydata", FileMode.Open));
        string output = br.ReadString();
        listBox1.Items.Add(output);
        br.Close();

    }

这是我的输出当前的样子:

电流输出

它应该是这样的,第二组数字和平均值低于第一组数字和平均值。

我希望我在表达我的问题时足够清楚,有人可以帮助我。提前致谢:)

现在你正在将所有内容读入 1 个字符串,output

只需在 Button2 单击方法中将 1 项output添加到列表视图。

您需要为列表视图中所需的每一行添加。

最新更新