从多个文件添加到列表框,并删除加倍的项目
本文关键字:删除 项目 文件 添加 列表 | 更新日期: 2023-09-27 18:25:16
正如您在标题中所读到的,我正试图将多个文件中的列表框项目添加到列表框中。但我不知道如何读取所有这些文件,也不知道如何删除双线(因为有些txt文件包含相同的信息)。
每天都会添加一个新文件,所以我不能手动全部读取。
到目前为止我的代码:
string directory = System.AppDomain.CurrentDomain.BaseDirectory;
DirectoryInfo dinfo = new DirectoryInfo(directory);
FileInfo[] Files = dinfo.GetFiles("*.txt");
首先,您需要识别需要读取的每个文件。
一旦拥有了所有文件,就需要将每个文件中的数据读取到某种形式的存储中,例如DataTable。
一旦填充了DataTable,就需要用数据填充ListBox。
从目前的情况来看,您的下一步似乎是从每个文件中收集数据(我们可以在之后处理删除重复项)。
也许:
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。
您可以尝试以下代码:在这个代码中,所有唯一的数据都将存储在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);
}
}
}
}