各个txt文件内容为(例):
E00401504EB9FE7D
E00401504EB9FE7D
E00401504EB9FE7D
E00401502BB0D3DF
E00401502BB0D3DF
txt
第一站第一时段 第一站第二时段.........
dataGridView
站数/时段 第1时段 第2时段 第3时段 第4时段
第1站
第2站
第3站
本人纯属菜鸟需要各位大神源代码
9 个解决方案
#1
技术差,连描述都不清楚,txt例子和gv的描述看不懂是怎么对应的
#2
计算txt的行数 输出到dataGridView单元格中
#3
大学还没毕业呢 水平不高实在抱歉
#4
1.遍历文件夹中的所有txt文件,一般用递归。
2.获取每个txt文件的行数。
3.所有txt文件行数求和。
2.获取每个txt文件的行数。
3.所有txt文件行数求和。
DirectoryInfo di = new DirectoryInfo(@"D:\");
List<string> list =new List<string>();
GetFile(di, list);
/// <summary>
///
/// </summary>
/// <param name="dir">文件夹</param>
/// <param name="listFilePath">得到的所有txt文件全路径</param>
private void GetFile(DirectoryInfo dir,List<string> listFilePath)
{
if (dir.Exists)
{
foreach (FileInfo file in dir.GetFiles())
{
if (file.Name.Contains(".txt"))
{
listFilePath.Add(file.DirectoryName + "\\" + file.Name); ;
//文件的行数
int rowCount=0;
using (StreamReader sr = new StreamReader(file.DirectoryName + "\\" + file.Name))
{
while(sr.ReadLine()!=null)
{
rowCount++;
}
}
}
}
foreach (DirectoryInfo subDir in dir.GetDirectories())
{
GetFile(subDir, listFilePath);
}
}
}
#5
private int GetFile(DirectoryInfo dir,List<string> listFilePath)
{
int rowCount = 0;
if (dir.Exists)
{
foreach (FileInfo file in dir.GetFiles().Where(x => x.Name.EndsWith(".txt")))
{
rowCount += File.ReadAllLines(file.Name).Count();
}
}
foreach (DirectoryInfo subDir in dir.GetDirectories())
{
rowCount += GetFile(subDir, listFilePath);
}
return rowCount;
}
{
int rowCount = 0;
if (dir.Exists)
{
foreach (FileInfo file in dir.GetFiles().Where(x => x.Name.EndsWith(".txt")))
{
rowCount += File.ReadAllLines(file.Name).Count();
}
}
foreach (DirectoryInfo subDir in dir.GetDirectories())
{
rowCount += GetFile(subDir, listFilePath);
}
return rowCount;
}
#6
一行一行读取内容用StreamReader就可以
#7
你举的例子,着实没看懂
#8
用这个就可以。
#9
E00401504EB9FE7D和你所谓的站数是什么关系……
然后你多个txt之间的内容会有关联么?这里所谓的关联,就是你的 站数/时段 第1时段 第2时段 第3时段 第4时段 涉及的数据同时出现在不同的txt里面
然后你多个txt之间的内容会有关联么?这里所谓的关联,就是你的 站数/时段 第1时段 第2时段 第3时段 第4时段 涉及的数据同时出现在不同的txt里面
#1
技术差,连描述都不清楚,txt例子和gv的描述看不懂是怎么对应的
#2
计算txt的行数 输出到dataGridView单元格中
#3
大学还没毕业呢 水平不高实在抱歉
#4
1.遍历文件夹中的所有txt文件,一般用递归。
2.获取每个txt文件的行数。
3.所有txt文件行数求和。
2.获取每个txt文件的行数。
3.所有txt文件行数求和。
DirectoryInfo di = new DirectoryInfo(@"D:\");
List<string> list =new List<string>();
GetFile(di, list);
/// <summary>
///
/// </summary>
/// <param name="dir">文件夹</param>
/// <param name="listFilePath">得到的所有txt文件全路径</param>
private void GetFile(DirectoryInfo dir,List<string> listFilePath)
{
if (dir.Exists)
{
foreach (FileInfo file in dir.GetFiles())
{
if (file.Name.Contains(".txt"))
{
listFilePath.Add(file.DirectoryName + "\\" + file.Name); ;
//文件的行数
int rowCount=0;
using (StreamReader sr = new StreamReader(file.DirectoryName + "\\" + file.Name))
{
while(sr.ReadLine()!=null)
{
rowCount++;
}
}
}
}
foreach (DirectoryInfo subDir in dir.GetDirectories())
{
GetFile(subDir, listFilePath);
}
}
}
#5
private int GetFile(DirectoryInfo dir,List<string> listFilePath)
{
int rowCount = 0;
if (dir.Exists)
{
foreach (FileInfo file in dir.GetFiles().Where(x => x.Name.EndsWith(".txt")))
{
rowCount += File.ReadAllLines(file.Name).Count();
}
}
foreach (DirectoryInfo subDir in dir.GetDirectories())
{
rowCount += GetFile(subDir, listFilePath);
}
return rowCount;
}
{
int rowCount = 0;
if (dir.Exists)
{
foreach (FileInfo file in dir.GetFiles().Where(x => x.Name.EndsWith(".txt")))
{
rowCount += File.ReadAllLines(file.Name).Count();
}
}
foreach (DirectoryInfo subDir in dir.GetDirectories())
{
rowCount += GetFile(subDir, listFilePath);
}
return rowCount;
}
#6
一行一行读取内容用StreamReader就可以
#7
你举的例子,着实没看懂
#8
用这个就可以。
#9
E00401504EB9FE7D和你所谓的站数是什么关系……
然后你多个txt之间的内容会有关联么?这里所谓的关联,就是你的 站数/时段 第1时段 第2时段 第3时段 第4时段 涉及的数据同时出现在不同的txt里面
然后你多个txt之间的内容会有关联么?这里所谓的关联,就是你的 站数/时段 第1时段 第2时段 第3时段 第4时段 涉及的数据同时出现在不同的txt里面