【问题标题】:Loading from file System.IO Windows Forms从文件 System.IO Windows 窗体加载
【发布时间】:2016-03-29 05:53:58
【问题描述】:

你好,我从二进制文件加载没有什么问题

        FileStream yay = new FileStream(@"c:\\StatsSave\save.bin", FileMode.Open);
        BinaryReader yay01 = new BinaryReader(yay);


        label02.Text = yay01.ReadString();
        label01.Text = yay01.ReadString();
        listBox.Items.Add(yay01.ReadString());

        yay.Close();
        yay01.Close();

这是我的加载,我猜问题出在 ListBox 的某个地方 如果你想在这里保存

        FileStream yay = new FileStream(@"c:\\StatsSave\save.bin", FileMode.Create);
        BinaryWriter yay01 = new BinaryWriter(yay);

        string win = Convert.ToString(label02.Text);
        string lose = Convert.ToString(label01.Text);
        foreach(string game in listBox.Items)
        {
            yay01.Write(game);
        }
        yay01.Write(win);
        yay01.Write(lose);

        yay.Close();
        yay01.Close();

我试图在两个小时内解决这个问题,现在我必须请你回答。 感谢和抱歉我的英语不是我的母语,我没有权力

【问题讨论】:

  • 你能提供例外吗?你会想要重命名你的所有变量。这让阅读变得非常困难。 “fileStream”而不是“yay”
  • 旁注:在string 上调用Convert.ToString 有什么意义?
  • “我从二进制文件加载没有什么问题”对于寻求帮助的作用与去看医生并说“我感觉不舒服”一样有用。
  • stackoverflow.com/questions/4744392/… 显示读/写数组。可能这正是您遇到的问题,但很难从您的帖子中说出来。
  • 使用System.IO.File.ReadAllLines。和System.IO.File.WriteAllLines 将使您可以非常轻松地从文件中加载所有项目并将所有项目保存到文件中。

标签: c# winforms


【解决方案1】:

ListBox.Items 属于 ObjectCollection 类型,因此您需要使用

foreach(object game in listBox.Items)
        {
            yay01.Write(game.ToString());
        }

另外,请确保 c:\StatsSave\save.bin 存在

【讨论】:

  • 谢谢,但这有点……嗯……这不是我对link的期望
  • 很抱歉我的例子对你没有帮助,但你对你期望达到的结果非常模糊。
  • 我的朋友告诉我将保存与加载进行比较,这就是为什么我只发布我发布的内容,但他不想告诉我如何解决这个问题。我不知道我是否在帮助您解决问题,但这就是我能说的全部
  • 本文将为您提供一个起点。您可以使用许多不同的工具来管理 I/O 流。但我强烈建议您从简单的控制台应用程序开始,直到您掌握了使用内存流的窍门...tutorialspoint.com/csharp/csharp_file_io.htm
猜你喜欢
  • 2012-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-31
  • 1970-01-01
  • 2013-12-20
相关资源
最近更新 更多