前言
在做项目的时候遇到这样的一个问题,需要我将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内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!