string dirTXT = @"F:\工作\JTRECORD\2018-09-01-2019-01-01.txt";
DataTable dt = ReadTXT(dirTXT, "1");
public static System.Data.DataTable ReadTXT(string dirTXT, string flag)
{
StreamReader objReader = new StreamReader(dirTXT);
System.Data.DataTable dt = new System.Data.DataTable();
if (flag == "1")
{
dt.Columns.Add("DN", System.Type.GetType("System.String"));
dt.Columns.Add("Date", System.Type.GetType("System.String"));
}
dt.Columns.Add("FileName", System.Type.GetType("System.String"));
string sLine = "";
while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null && !sLine.Equals(""))
{
string[] str = sLine.Split('|');
DataRow dr = dt.NewRow();
dr["DN"] = str[str.Length - 1];
dr["Date"] = sLine.Substring(sLine.IndexOf("OUT|") + 4, 8);
dr["FileName"] = sLine;
dt.Rows.Add(dr);
}
}
objReader.Close();
return dt;
}
//判断dt中拼接后的文件是否在本地指定文件中存在
string filename = "";
for (int i = 0; i < dt.Rows.Count; i++)
{
filename = srcPath + "\\" + dt.Rows[i]["Date"].ToString() + "\\" + dt.Rows[i]["DN"].ToString()+".wav";
if (!System.IO.File.Exists(filename))
{
//写一条不存储的日志
LogFileName(dt.Rows[i]["FileName"].ToString());
}
}
本文介绍了一个使用C#编写的函数,该函数能够读取指定路径的文本文件,解析其中的数据,并将其存储到DataTable对象中。具体实现包括了如何逐行读取文件,按'|'字符分割每行内容,以及如何从分割后的字符串数组中提取特定信息(如DN和日期),并将这些信息存储到DataTable的不同列中。此外,文章还提供了如何检查本地文件系统中是否存在由DataTable中的数据构建的文件路径的方法。
3510

被折叠的 条评论
为什么被折叠?



