将答案保存在文本文件中

Posted

技术标签:

【中文标题】将答案保存在文本文件中【英文标题】:Saving answers in textfile 【发布时间】:2014-05-09 13:43:31 【问题描述】:

有没有办法在文本文件 (.txt) 中“保存”用户数据并重新使用它们?我在 C# Visual Studio 2013 (WFA) 中编程 不允许使用数据库/XML 文件!

例如,我编写了一个包含几个问题的测验。当我开始测验并给出一些正确和错误的答案时,我需要能够保存我的答案,查看我的正确/错误答案,并且我必须能够重试我的错误答案。

【问题讨论】:

是的,这当然是可能的。你试过什么吗?了解如何处理文件? 在 google 中输入 c# text files 肯定比在这里输入这个问题要快得多。 Sinatr 说的是真的,虽然我倾向于相信你不知道该输入什么,并且根据你的问题,正确的东西被称为流阅读器和流作家,有很多网络上的教程和示例,但如果您发现自己在此过程中遇到困难,请发表评论。我会帮助你的,祝你好运! 【参考方案1】:

网上有很多关于如何做到这一点的例子,而且我确信堆栈溢出的例子也很多。

要从 .txt 文件中读取,请检查此内容

Reading textFile and saving the info into an array C#

要写入文本文件,请查看

Saving from List<T> to txt

【讨论】:

【参考方案2】:

简短的回答是肯定的。长答案也不错。假设我们像这样构造一组类:

public class Quiz

    public List<Question> Questions  get; set; 

    public Quiz()  Questions = new List<Question>(); 


public class Question

    public string Question  get; set; 

    public bool Answer  get; set; 

现在假设 UI 为测验构建了一个很好的问题集合,并且随着时间的推移将答案设置为真或假,是或否有你,所以最后我们需要保存它:

File.WriteAllText(path, JsonConvert.SerializeObject(quiz));

这会将整个测验和问题以 JSON 格式保存到文件路径中。

现在我们需要重新加载;这就是我使用 JSON 的原因:

var quiz = JsonConvert.DeserializeObject<Quiz>(File.ReadAllText(path));

对对象进行更新(即答案更改)后,您可以再次运行:

File.WriteAllText(path, JsonConvert.SerializeObject(quiz));

注意:很明显(或者应该很清楚)每个测验都需要自己的文件。

注意:这还需要您获得Json.NET NuGet package,它可以与NuGet Visual Studio Extension 一起安装。

【讨论】:

以上是关于将答案保存在文本文件中的主要内容,如果未能解决你的问题,请参考以下文章

如何在节点js中使用单个api保存文本字段值以及文件上传?

将数据表保存到文本文件的最短方法

为文本保存设置正确的文件路径 - vb.NET [重复]

如何将 RichTextBox 文本保存到文本资源文件?

将程序日志保存到文本文件中

关于PHP文件操作: php保存数据到文本文件,怎么弄?