正如您可以在标题中看到的那样,我正在尝试将列表框项目添加到多个文件的列表框中。但我不知道如何从所有这些文件中读取以及如何删除加倍的行(因为一些txt文件包含相同的信息)。
每天都会添加一个新文件,因此我无法手动阅读这些文件。
到目前为止我的代码:
string directory = System.AppDomain.CurrentDomain.BaseDirectory;
DirectoryInfo dinfo = new DirectoryInfo(directory);
FileInfo[] Files = dinfo.GetFiles("*.txt");
答案 0 :(得分:0)
首先,您需要识别需要阅读的每个文件。
获得所有文件后,您需要将每个文件中的数据读入某种形式的存储,例如DataTable。
填写DataTable后,您需要使用数据填充ListBox。
答案 1 :(得分:0)
从目前为止,您看来下一步将是从每个文件中收集数据(我们可以处理之后删除的重复项)。
所以也许:
HashSet<something> myCollection = new HashSet<something>();
// perhaps <something> is just a string?
foreach (var file in Files)
{
// Collect what you need and pop it in the collection
}
// Remove duplicates
要从文件中获取信息,您可能需要StreamReader。
要删除重复内容,请尝试HashSets。
答案 2 :(得分:0)
你可以试试这段代码:
在此代码中,所有唯一数据都将存储在lstData
中,您可以使用此
string directory = System.AppDomain.CurrentDomain.BaseDirectory;
DirectoryInfo dinfo = new DirectoryInfo(directory);
FileInfo[] Files = dinfo.GetFiles("*.txt");
List<string> lstData = new List<string>();
foreach (var file in Files)
{
using (StreamReader sr = File.OpenText(file.FullName))
{
string s = String.Empty;
while ((s = sr.ReadLine()) != null)
{
if (!lstData.Contains(s))
{
lstData.Add(s);
}
}
}
}