C# 读取和写入文件

C# 读取和写入文件,c#,C#,我有几个问题。是的,这是作业,我只是想理解它 这就是被问到的问题 •单击“加载”按钮时,读取文本框中指定的文件(txtFilePath:绝对路径非相对路径),并将其中找到的对象添加到列表框中 •当用户单击“保存”按钮时,将所选记录写入txtFilePath(绝对路径非相对路径)中指定的文件,而不截断其中当前的值 有人能给我解释一下吗,因为我还在学习这个。我有按钮和文本框,保存时也有。现在,使用save按钮,我的代码将与您想要保存的代码相同。但是从我收集的数据来看,有一个数据库,所以你可以加载你保

我有几个问题。是的,这是作业,我只是想理解它

这就是被问到的问题

•单击“加载”按钮时,读取文本框中指定的文件(txtFilePath:绝对路径非相对路径),并将其中找到的对象添加到列表框中


•当用户单击“保存”按钮时,将所选记录写入txtFilePath(绝对路径非相对路径)中指定的文件,而不截断其中当前的值


有人能给我解释一下吗,因为我还在学习这个。我有按钮和文本框,保存时也有。现在,使用save按钮,我的代码将与您想要保存的代码相同。但是从我收集的数据来看,有一个数据库,所以你可以加载你保存的文件。还是我让事情变得更难了?

不,没有数据库。在这些说明中,
记录需要附加到现有文件中的某些选定项。只需使用流和写入器将文件保存到磁盘,即可满足要求。

不,没有数据库。您要做的是与Windows文件系统交互(例如,硬盘上的文件)。您可以使用
System.IO
命名空间中的类来加载和保存文件

“绝对路径”是指文件在驱动器中的唯一位置,表示为根表达式;“相对路径”是指向相对于给定位置的文件的部分路径:

c:\foo\bar\baz\my files\homework.txt
..\..\homework.txt
这些是绝对路径和相对路径


我不确定您在这里需要多少详细信息,很难给出文件系统工作方式的完整概述。您可能想看看MSDN中有关文件管理的基本示例。

首先,请阅读如何读取和写入文件。我发现了一个很好的链接:

接下来要做的是将读/写代码放入每个按钮的按钮单击事件中(假设您使用Visual Studio,双击按钮可自动创建此事件)

通过访问文本框的.text()属性,可以轻松地从文本框中检索路径

string path = myTextBox.Text;

我已经有一段时间没有用c语言编写代码了,但这是一个非常基本的问题,我认为它应该会有所帮助。

很难对这个主题进行详细的分析,因为它是一个相当广泛的主题

对于文件交互,必须使用System.IO命名空间,该命名空间具有可轻松加载和保存文件的类

上面的链接是MSDN上的一个很好的参考资料,介绍了如何开始使用System.IO进行文件管理


祝你好运

如果我理解正确,您的问题是您是否需要在保存文件之前再次阅读该文件,或者与创建新文件不同的处理方式


我会说“不”。您已经将文件内容读取到列表框中。您只需从列表框中获取已编辑的内容(当用户完成操作时),并将其保存到文件中(覆盖其中的任何内容)。

加载:

  • 逐行
  • 列表框项目的每一行
  • 保存:

  • 保存文件而不截断(即附加到文件)
  • 项目,将其写入保存文件

  • 查看System.IO.File以了解读取/附加到文件的简单方法。我是否误解了这一点?列表框值来自文件,在列表框中选择一个项目,然后将所选项目写回文件,而不删除其他条目(如果它刚刚填充了列表框,那么它是否已经在该文件中?),或者教授是否假设txtFilePath将在读取/保存访问之间更改?@Brad我不知道他想要txtFilePath做什么。我想这就是为什么我更困惑的原因,因为我知道我可以不使用它就加载和保存它。@shan:很可能你的教授希望能够在他/她的系统上使用文件,而不是你提供的“完美”文件。这证明您可以读取和写入任何通用文件。然而,在我看来,将条目保存回列表来源的文件似乎有些奇怪p、 如果您还没有,我将使用来填充txtFilePath;-)你是Brad,是的,我知道现在我必须在这里使用openFileDialog。选中的记录<代码>记录
    !=<代码>文件,
    记录
    =
    选择编辑项
    (?)对我来说,这听起来很像。@shan如果你有一个“记录”,那就是一个数据库,或者至少是一个数组或某种集合的数据集。一旦选择了记录,您就可以按照我上面发布的方法将其写入文件。属性在C#中没有()。它只是
    myTextBox.Text
    @jb+1为好地点。抱歉,我说过,我已经有一段时间没有在c#做任何事情了。答案已编辑。感谢“不截断当前内部的值”,即不要覆盖保存文件,请附加到它。