C#逐行写入文件

     2023-05-07     141

关键词:

【中文标题】C#逐行写入文件【英文标题】:C# Writing to file line by line 【发布时间】:2018-06-24 13:39:13 【问题描述】:

所以,我正忙着为我的公司制作一个 c# WinForms 应用程序。为此,我需要能够将我的票证保存在应用程序的数据中。工单对话框如下所示:

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

应用程序还应该能够打开文件并在表单中显示数据。

我可能应该使用System.IO.Filenamespace,但我没有这方面的经验。我的谷歌搜索无法帮助我解决这个问题,所以我联系了 ***。

【问题讨论】:

到目前为止你尝试过什么?请给我们一些代码。 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 解决方案更正它们是否有意义?

pythonpython逐行写入文件(代码片段)

查看详情

C#逐行读取文件到列表框

】C#逐行读取文件到列表框【英文标题】:C#Readinglinebylinefromfiletolistbox【发布时间】:2014-01-2818:32:16【问题描述】:我在逐行读取文件中的文本时遇到问题。System.IO.StreamReaderfile=newSystem.IO.StreamReader("ais.txt");while((line=file.ReadLine())!=... 查看详情

在 C# 中逐行读取文件

】在C#中逐行读取文件【英文标题】:ReadingafilelinebylineinC#【发布时间】:2010-11-1906:20:55【问题描述】:我正在尝试读取一些文本文件,其中每一行都需要处理。目前我只是使用StreamReader,然后单独读取每一行。我想知道是否有... 查看详情

在 Java 中逐行读取和写入大文件的最快方法

】在Java中逐行读取和写入大文件的最快方法【英文标题】:FastestWayToReadandWriteLargeFilesLineByLineinJava【发布时间】:2012-10-2018:41:18【问题描述】:我一直在寻找在内存有限(约64MB)的Java中再次读取和写入大文件(0.5-1GB)的最快方... 查看详情

使用 Ruby 逐行读取、编辑和写入文本文件

】使用Ruby逐行读取、编辑和写入文本文件【英文标题】:Read,edit,andwriteatextfileline-wiseusingRuby【发布时间】:2011-05-2219:06:49【问题描述】:有没有在Ruby中就地读取、编辑和写入文件的好方法?在我的在线搜索中,我发现建议将其... 查看详情

C ++在循环中逐行写入文件或添加到数组并在循环后写入文件?

】C++在循环中逐行写入文件或添加到数组并在循环后写入文件?【英文标题】:C++Writetofilelinebylineinlooporaddtoarrayandwritetofileafterloop?【发布时间】:2018-05-1410:38:35【问题描述】:我开发了一个CFD仿真模型,该模型主要在一个循环中... 查看详情

Objective C - 创建文本文件以在 Cocoa 中逐行读取和写入

】ObjectiveC-创建文本文件以在Cocoa中逐行读取和写入【英文标题】:ObjectiveC-CreatetextfiletoreadandwritelinebylineinCocoa【发布时间】:2013-07-2017:17:28【问题描述】:我正在构建一个Mac应用程序,我有2个问题:我想创建一个文本文件来读... 查看详情

在r语言中如何把list对象逐行写入csv文件中

参考技术A在R中把list对象逐行写入csv文件中,示例如下: 查看详情

如何使用 pyserial 将文件逐行写入 com0com?

】如何使用pyserial将文件逐行写入com0com?【英文标题】:HowcanIwritefileline-by-linewithpyserialtocom0com?【发布时间】:2019-10-1920:31:19【问题描述】:我不能使用pyserial将文件中的多行数据写入虚拟com端口(com0com)。我正在尝试逐行编写文... 查看详情

逐行写入文件(代码片段)

在这里,我想逐行将word_count写入文件中。但是,它们是背靠背写的。importosimportstringdefremove_punctuation(value):result=""forcinvalue:#Ifcharisnotpunctuation,addittotheresult.ifcnotinstring.punctuationandc!='،'andc!='؟'andc!='؛'andc!='«'andc!='»':result+=creturnresult... 查看详情

如何在 C# 中逐行读取 CMD 输出结果

】如何在C#中逐行读取CMD输出结果【英文标题】:HowtoReadCMDoutputresultslinebylineinC#【发布时间】:2021-08-0809:59:28【问题描述】:我想打开.bat文件,为此我使用cmd并为参数提供输入,最后我收到整个输出结果,但我只想获得最后一个... 查看详情

在 C# 中在运行时创建 pdf 文件 [关闭]

...,它允许在运行时创建pdf文件,即打开一个新的pdf文件,逐行写入,嵌入图像等并关闭所有pdf文件在C#代码中?我想要的是一组工具和规范,允许我在C#中实现自定义的pdf编写器,而无需使用Reporti 查看详情

在 C# 中在运行时创建 pdf 文件 [关闭]

...,它允许在运行时创建pdf文件,即打开一个新的pdf文件,逐行写入,嵌入图像等并关闭所有pdf文件在C#代码中?我想要的是一组工具和规范,允许我在C#中实现自定义的pdf编写器,而无需使用Reporti 查看详情

文件写入和读取

...为python语言,主要涉及模块os。功能:将控制台输入文字逐行保存,和读取。输入逐行保存importosfilename=input(‘pleaseenterfilename:‘)file=open(filename,‘w‘)whileTrue:aline=input(‘enteraline(q!退出):‘)ifaline!=‘q!‘:fil 查看详情

写入/读取文本文件 (C#)

】写入/读取文本文件(C#)【英文标题】:Write/ReadTextFiles(C#)【发布时间】:2015-10-1621:08:40【问题描述】:我不是100%确定如何在标题中解释这一点或如何搜索它,如果之前已经发布过,非常抱歉。我正在尝试做的是读取和写入文件... 查看详情

c#读取写入文件

读取文件File.ReadAllText(textBox1.Text,Encoding.ASCII);Form1namespaceReadWriteText2{3publicpartialclassForm1:Form4{5privatereadonlyOpenFileDialogchooseOpenFileDialog=newOpenFileDialog();6privatestringchos 查看详情

c#写入配置文件(text)

...m.DateTimecurrentTime=newSystem.DateTime();currentTime=System.DateTime.Now;写入配置文件1)建立文件缓冲流(不知道这名字啥意思。。就当规划文件路径和编写方式用的)FileStream类名fs=newFileStream("文件路径---可以直接写文件名,默认在debug里---例... 查看详情

将列表项写入文本文件c#

】将列表项写入文本文件c#【英文标题】:WritingListitemstotextfilec#【发布时间】:2014-05-0518:48:59【问题描述】:我正在尝试将List保存到文本文件中,但遇到了问题。它将保存到文本文件中,但不会根据需要保存所有信息,而只会... 查看详情