C# List生成Txt文档并且读取Txt文档封装List

 

前言

在做项目的时候遇到这样的一个问题,需要我将List中的数据读出来并把数据封装到Txt文件中,也能把Txt文件中的数据读出来放到List集合中,虽然不是很难,但是也很麻烦,这篇文章就是记录一下,自己写的代码,方便自己后期复习,查阅,有不足的地方,大家一起讨论学习一下,不喜勿喷,欢迎大家点赞评论收藏,你的点赞是我更文的动力。

 

一、简单设计界面

做一个简单的界面,两个触发按钮,对我们写的代码,进行控制(可以直接跳到后面看代码)

窗体触发函数,双击按钮得到的触发函数,编写触发函数的触发条件和逻辑

 

二、方法函数讲解

总共两个函数,一个读,一个写,分别对应不同的代码,代码逻辑很简单,可以直接拷贝使用,也可以根据自己的需求做更改。代码在文末

 

三、效果展示

博主只是模拟一部风数据,将数据放进list中,再设置好你需要放置文件的位置,你可以设置任意位置,调用函数将list和文件保存路径作为参数传过去就可以了

生成之后的文件如上图所示,Txt文件中有100个数值。接下来我们把这个txt文件中的数据再读出来,封装进List中。

 

四、代码逻辑

界面代码:

using DictionaryToTxtFile;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace IC00520
{
  public partial class Form1 : Form
  {
      public Form1()
      {
          InitializeComponent();
      }
      public static Dao dao = new Dao();//调用方法的声明
      private void button1_Click(object sender, EventArgs e)
      {
          OpenFileDialog openFile = new OpenFileDialog();//定义打开文件类
          openFile.Filter = "Txt文件(*.Txt)|*.txt|所有文件|*.*";
          if (openFile.ShowDialog() != DialogResult.OK)//打开文件是否点击了取消
              return;
          string path = openFile.FileName;//获得你打开文件的名称,路径
          List<int> datalist= dao.WriteData(path);//调用方法
          foreach(int i in datalist)//遍历展示数据
          {
              richTextBox1.Text += i.ToString()+"\r\n";
          }
      }

      private void button2_Click(object sender, EventArgs e)
      {
          List<int> list = new List<int>();
          for(int i = 0; i<100;i++)//生成100个虚拟数据测试
          {
              list.Add(i);
          }
          dao.SaveData(list, "C:\Users\ASUS\source\repos\IC00520\IC00520\");//将数据和文件路径作为实参
      }
  }
}

方法类代码:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DictionaryToTxtFile
{
  public class Dao
  {
      public string SaveData(List<int> info,string path)
      {
          try
          {
              string dataName = "";//数据下发文件名
              string Data = "";
              foreach (var item in info)//遍历List数据将数据保存在Data中
              {
                  Data += item + "\r\n";
              }
              dataName = "IC00" + DateTime.Now.ToString("yyyy_MM_dd HH_mm_ss")+ ".txt";//以日期创建文件名
              path += dataName;
              File.AppendAllText(path, Data);//直接追加,如果没有这个文件会自动添加
              return "OK";
          }
         catch(Exception ex)
          {
              return ex.Message.ToString();
          } 
      }
      public List<int>  WriteData(string filepath)
      {
          try
          {
              List<int> info = new List<int>();
              string[] lines = File.ReadAllLines(filepath);//读取文件中的所有行并将所有行放进string数组中
              for (int i = 0; i < lines.Length; i ++)
              {
                  int value = int.Parse(lines[i]);//遍历赋值,返回list的值
                  info.Add(value);
              }
              return info;
          }
         catch(Exception ex)
          {
              return null;
          }
      }
  }
}

 

五、总结

这篇文章是一篇简单的总结,技术层次不高,只是用了文件的读取,再封装,虽然简单,但是是值得学习和记录的,毕竟要从基础的做起嘛,先小再大,慢慢积累,积少成多

关于C#List生成Txt文档并且读取Txt文档封装List的文章就介绍至此,更多相关C#封装List内容请搜索编程宝库以前的文章,希望以后支持编程宝库

实现思路框架使用大于等于.NET40;Visual Studio 2022;项目使用MIT开源许可协议;老板觉得公司系统等待动画转圈太简单,所以需要做一个稍微好看点的,就有这篇等待RingLoa ...