所以我有一个文件夹C:\ IDFolder包含一系列名为ID01到ID99的.txt文件。每个文件有5行ID,密码,名称,bla..bla .. 我有一个Windows窗体包含一个名为profile的datagridview表。在具有该表的同一表单上,有一个“导入”按钮。当用户单击“导入”按钮时,这应该工作:表上的每一行都将从.txt系列导入数据。 例如:
第一行将包含:ID01 /密码/名称/ ....(取自ID01.txt)和第二行:ID02 /密码/名称/ .....(取自ID02.txt )
我试过
foreach (System.IO.File.Exist(@"C:\IDFolder")
这就是我的想法:
foreach ( /* file in C:\IDFolder */)
{
this.pro.Rows.Add(/*filename*/ , /*first line in file*/ , ....)
}
但它宣布错误。现在,我被困住了。请帮忙。感谢。
答案 0 :(得分:1)
此处没有在线资格。 (我所知道的)。您应该使用Directory检索所有文件。然后用File.Open打开文件
foreach (var file in Directory.EnumerateFiles(@"C:\IDFolder", "*.txt"))
{
/* your code */
}
答案 1 :(得分:1)
foreach (var file in Directory.EnumerateFiles(@"c:\", "*.txt", SearchOption.AllDirectories))
{
this.pro.Rows.Add(/*filename*/ , GetFirstLine(/*filename*/,2) , ....)
}
string GetFirstLine(string fileName, int line)
{
using (var sr = new StreamReader(fileName)) {
for (int i = 1; i < line; i++)
sr.ReadLine();
return sr.ReadLine();
}
}
答案 2 :(得分:1)
尝试这样的事情:
String path=@"C:\IDFolder";
String [] files= System.IO.Directory.GetFiles(path);
List<String> ID=new List<string>();
List<String> Password=new List<string>();
List<String> Name=new List<string>();
int count=0;
int rows = 0;
foreach (String strFileName in files)
{
count = 0;
String[] allLines = System.IO.File.ReadAllLines(strFileName);
foreach (String line in allLines)
{
dataGridView1.Rows.Add();
if (allLines[count].Split('/').Length==3)
{
dataGridView1.Rows[rows].Cells[0].Value = allLines[count].Split('/')[0];
dataGridView1.Rows[rows].Cells[1].Value = allLines[count].Split('/')[1];
dataGridView1.Rows[rows].Cells[2].Value = allLines[count].Split('/')[2];
count++;
rows++;
}
}
}
<强>输出:强>
它会将指定文件夹中每个文件的ID,Password and Name
添加到DataGridView
答案 3 :(得分:1)
如果您不介意,只需创建一个类来保存您的记录文件。我们说ID类。迭代每个文件,读取并将其存储到ID类中并返回数据列表。您可以将列表绑定到数据网格视图中。
这里是代码:
public class ID
{
public string id {get; set; }
public string UserName {get; set; }
public string Password {get; set; }
public string Bla1 {get; set; }
public string Bla2 {get; set; }
}
public IList<ID> GetAllID()
{
string folderName = @"c:\IDFolder";
string fileName = "ID0";
string formatFile = ".txt";
IList<ID> IDs = new List<ID>();
for (int i = 0; i < 9; i++)
{
string indexFile = (i + 1).ToString();
string filePath = folderName + "\\" + fileName + indexFile + formatFile;
if (File.Exists(filePath))
{
string[] result = File.ReadAllLines(filePath);
ID id = new ID();
id.id = result[0];
id.UserName = result[1];
id.Password = result[2];
id.Bla1 = result[3];
id.Bla2 = result[4];
// add id into IDs
IDs.Add(id);
}
}
return IDs;
}