C#逐行写入文件
Posted
技术标签:
【中文标题】C#逐行写入文件【英文标题】:C# Writing to file line by line 【发布时间】:2018-06-24 13:39:13 【问题描述】:所以,我正忙着为我的公司制作一个 c# WinForms 应用程序。为此,我需要能够将我的票证保存在应用程序的数据中。工单对话框如下所示:
我想将所有数据保存在本地存储的某个文件中(.txt 可能是最好的?)一行一行,像这样:
应用程序还应该能够打开文件并在表单中显示数据。
我可能应该使用System.IO.File
namespace,但我没有这方面的经验。我的谷歌搜索无法帮助我解决这个问题,所以我联系了 ***。
【问题讨论】:
到目前为止你尝试过什么?请给我们一些代码。 documentation 很容易阅读 您真的不想以纯文本格式保存数据。至少,您应该使用 json 或 xml。它会更容易编写和维护。 好吧,为了保存,您可以将值存储在一个数组中,然后循环遍历该数组,File.WriteLine 将完成这项工作。对于接收,我认为同样的概念可以完成这项工作 查看 NewtonSoft。序列化信息并将其写入文件。然后在阅读过程中,您可以对其进行反序列化并显示和/或编辑信息。 【参考方案1】:第一个带有数组的 WriteLine 代码可能会对您有所帮助。因此,您将使用提供的所有信息创建一个字符串数组,然后将其写入文件。
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/file-system/how-to-write-to-a-text-file
菲利普。
【讨论】:
【参考方案2】:尝试下面的代码来创建一个xml文件
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Linq;
namespace WindowsFormsApplication1
public partial class Form1 : Form
const string FILENAME = @"c:\temp\test.xml";
XDocument doc = null;
XElement tickets = null;
public Form1()
InitializeComponent();
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
string ident = "<?xml version=\"1.0\" encoding=\"utf-8\"?><tickets></tickets>";
doc = XDocument.Parse(ident);
tickets = doc.Root;
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
doc.Save(FILENAME);
private void addTicket_Click(object sender, EventArgs e)
XElement newTicket = new XElement("ticket",
new XElement("ID", this.ID),
new XElement("Name", this.Name),
new XElement("Type", this.Type),
new XElement("Device_Name", this.Device_Name),
new XElement("Serial_Number", this.Number),
new XElement("Repair_Data", this.Repair),
new XElement("Fix", this.Fix),
new XElement("Additional", this.Additional)
);
tickets.Add(newTicket);
【讨论】:
在不质疑 OP 的努力的情况下提供现成的解决方案正在促进盲目复制粘贴。 SO 不是也不应该成为代码编写服务。只是我的意见。 新手没有能力写代码。那么为什么要浪费任何人的时间。通常,我编写代码所需的时间比提出问题的时间要少。在这种情况下,这个人甚至不知道 xml 是什么或优点。让他们编写文本数据,然后用 xml 解决方案更正它们是否有意义?以上是关于C#逐行写入文件的主要内容,如果未能解决你的问题,请参考以下文章