C#逐行写入文件

时间:2018-06-24 13:39:14

标签: c# winforms openfiledialog savefiledialog

所以,我正在为我的公司制作一个c#WinForms应用程序。为此,我需要能够使用该应用程序将票证保存到数据中。票证对话框如下所示: enter image description here

我想将所有数据保存在本地存储的某个文件中(.txt可能是最好的?),一行一行,就像这样:

enter image description here

应用程序还应该能够打开文件并以表格形式显示数据。

我可能应该使用System.IO.File命名空间,但是我对此没有经验。我的Google搜索无法解决此问题,因此我接触了stackoverflow。

2 个答案:

答案 0 :(得分:0)

第一个带有数组的WriteLine代码可能会对您有所帮助。因此,您将使用提供的所有信息创建一个字符串数组,然后将其写入文件。

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/file-system/how-to-write-to-a-text-file

菲利普。

答案 1 :(得分:-1)

尝试如下代码创建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);
        }

    }
}