首先新建一个TxTModel类
public class TxTModel
{
public List<TXTData> Data { get; set; }
//路径以及文件名
string txtPath = $"{Environment.CurrentDirectory}\\TxTData.txt";
public TxTModel()
{
//检查路径是否存在该文件,存在则取出来,不存在则赋空值
if (File.Exists(txtPath))
{
var model = JsonSerializer.Deserialize<Dictionary<string, object>>(File.ReadAllText(txtPath, System.Text.Encoding.UTF8));
try
{
var mesDataString = model["Data"].ToString();
var mesDataList = JsonSerializer.Deserialize<List<TXTData>>(mesDataString);
Data = new List<TXTData>(mesDataList);
}
catch (Exception ex)
{
}
}
else
{
Data = new List<TXTData>();
}
}
//保存方法
public void Save() => System.IO.File.WriteAllText(txtPath, JsonSerializer.Serialize(this), Encoding.UTF8);
}
public class TXTData
{
public int id { get; set; }
public string Name { get; set; }
public DateTime CreateTime { get; set; }
}
在控制台调用
static void Main(string[] args)
{
var test = new TxTModel();
test.Data = new List<TXTData>()
{
new TXTData() {
id=1,Name="1",CreateTime=new DateTime()},
new TXTData() {
id=2,Name="2",CreateTime=new DateTime()},
new TXTData() {
id=3,Name="3",CreateTime=new DateTime()}
};
//调用该类方法,转成json保存到本地txt文件
test.Save();
//重新new取出数据
var test2 = new TxTModel();
test2.Data.ForEach(x =>
{
Console.WriteLine(x.Name);
});
}
结果