C#?List生成Txt文檔并且讀取Txt文檔封裝List
前言
在做項(xiàng)目的時(shí)候遇到這樣的一個(gè)問(wèn)題,需要我將List中的數(shù)據(jù)讀出來(lái)并把數(shù)據(jù)封裝到Txt文件中,也能把Txt文件中的數(shù)據(jù)讀出來(lái)放到List集合中,雖然不是很難,但是也很麻煩,這篇文章就是記錄一下,自己寫的代碼,方便自己后期復(fù)習(xí),查閱,有不足的地方,大家一起討論學(xué)習(xí)一下,不喜勿噴,歡迎大家點(diǎn)贊評(píng)論收藏,你的點(diǎn)贊是我更文的動(dòng)力。
一、簡(jiǎn)單設(shè)計(jì)界面
做一個(gè)簡(jiǎn)單的界面,兩個(gè)觸發(fā)按鈕,對(duì)我們寫的代碼,進(jìn)行控制(可以直接跳到后面看代碼)
窗體觸發(fā)函數(shù),雙擊按鈕得到的觸發(fā)函數(shù),編寫觸發(fā)函數(shù)的觸發(fā)條件和邏輯
二、方法函數(shù)講解
總共兩個(gè)函數(shù),一個(gè)讀,一個(gè)寫,分別對(duì)應(yīng)不同的代碼,代碼邏輯很簡(jiǎn)單,可以直接拷貝使用,也可以根據(jù)自己的需求做更改。代碼在文末
三、效果展示
博主只是模擬一部風(fēng)數(shù)據(jù),將數(shù)據(jù)放進(jìn)list中,再設(shè)置好你需要放置文件的位置,你可以設(shè)置任意位置,調(diào)用函數(shù)將list和文件保存路徑作為參數(shù)傳過(guò)去就可以了
生成之后的文件如上圖所示,Txt文件中有100個(gè)數(shù)值。接下來(lái)我們把這個(gè)txt文件中的數(shù)據(jù)再讀出來(lái),封裝進(jìn)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();//調(diào)用方法的聲明 private void button1_Click(object sender, EventArgs e) { OpenFileDialog openFile = new OpenFileDialog();//定義打開文件類 openFile.Filter = "Txt文件(*.Txt)|*.txt|所有文件|*.*"; if (openFile.ShowDialog() != DialogResult.OK)//打開文件是否點(diǎn)擊了取消 return; string path = openFile.FileName;//獲得你打開文件的名稱,路徑 List<int> datalist= dao.WriteData(path);//調(diào)用方法 foreach(int i in datalist)//遍歷展示數(shù)據(jù) { 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個(gè)虛擬數(shù)據(jù)測(cè)試 { list.Add(i); } dao.SaveData(list, "C:\Users\ASUS\source\repos\IC00520\IC00520\");//將數(shù)據(jù)和文件路徑作為實(shí)參 } } }
方法類代碼:
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 = "";//數(shù)據(jù)下發(fā)文件名 string Data = ""; foreach (var item in info)//遍歷List數(shù)據(jù)將數(shù)據(jù)保存在Data中 { Data += item + "\r\n"; } dataName = "IC00" + DateTime.Now.ToString("yyyy_MM_dd HH_mm_ss")+ ".txt";//以日期創(chuàng)建文件名 path += dataName; File.AppendAllText(path, Data);//直接追加,如果沒(méi)有這個(gè)文件會(huì)自動(dòng)添加 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);//讀取文件中的所有行并將所有行放進(jìn)string數(shù)組中 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; } } } }
五、總結(jié)
這篇文章是一篇簡(jiǎn)單的總結(jié),技術(shù)層次不高,只是用了文件的讀取,再封裝,雖然簡(jiǎn)單,但是是值得學(xué)習(xí)和記錄的,畢竟要從基礎(chǔ)的做起嘛,先小再大,慢慢積累,積少成多
到此這篇關(guān)于C# List生成Txt文檔并且讀取Txt文檔封裝List的文章就介紹到這了,更多相關(guān)C#封裝List內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#使用Socket發(fā)送和接收TCP數(shù)據(jù)實(shí)例
這篇文章主要介紹了C#使用Socket發(fā)送和接收TCP數(shù)據(jù)的實(shí)現(xiàn)方法,以實(shí)例的形式詳細(xì)講述了C#實(shí)現(xiàn)socket通信的完整實(shí)現(xiàn)過(guò)程,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10C#使用opencv截取旋轉(zhuǎn)矩形區(qū)域圖像的實(shí)現(xiàn)示例
這篇文章主要介紹了C#使用opencv截取旋轉(zhuǎn)矩形區(qū)域圖像,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03C#中datagridview的EditingControlShowing事件用法實(shí)例
這篇文章主要介紹了C#中datagridview的EditingControlShowing事件用法,實(shí)例分析了datagridview的EditingControlShowing事件的定義與使用技巧,需要的朋友可以參考下2015-06-06C#導(dǎo)出網(wǎng)站功能實(shí)例代碼講解
這篇文章主要介紹了C#導(dǎo)出網(wǎng)站功能實(shí)例代碼,需要的朋友可以參考下2015-10-10簡(jiǎn)單聊聊C#的線程本地存儲(chǔ)TLS到底是什么
C#的ThreadStatic是假的,因?yàn)镃#完全是由CLR(C++)承載的,言外之意C#的線程本地存儲(chǔ),用的就是用C++運(yùn)行時(shí)提供的 __declspec(thread)或__thread來(lái)虛構(gòu)的一套玩法,下面我們就來(lái)深入講講C#的線程本地存儲(chǔ)TLS到底是什么吧2024-01-01Unity?UGUI的CanvasScaler畫布縮放器組件介紹使用
這篇文章主要為大家介紹了Unity?UGUI的CanvasScaler畫布縮放器組件介紹使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07