如何在 c# 中从多个文本文件中提取信息
本文关键字:文本 文件 提取 信息 | 更新日期: 2023-09-27 18:32:10
我有一个处理条形码的项目。它基本上是一个库存跟踪程序,可以告诉我们在任何给定时间都有库存。每个条形码都有一个包含相关信息的文本文件。每个文件包含以下信息行:
- "办公室打印机"<- 这是项目描述
- "1" <- 0 等于缺货,1 等于有货
- "不相关的信息" <- 排序中未使用的任何其他信息
200 +不同的文本文件,我需要首先通过项目描述进行搜索,然后再次搜索这些文件以查看它们是否有库存。理想情况下,它将显示一个整数,列出库存数量,但如果这是最简单的,它也可以只显示文本文件的名称。这是我到目前为止的代码。comboBox1 有一个下拉列表,其中包含要搜索的可能项目。richTextbox1 是我设置的用于显示搜索结果的内容。现在它只显示一个"1"。
编辑
感谢VBRonPaulFan的突破。这根据组合框的选择显示库存中的商品数量。我要研究的唯一另一件事是让它显示库存商品的数量,而不是列出所有商品。谢谢!
private void searchButton_Click(object sender, EventArgs e)
{
richTextBox1.Text = "";
foreach (string fileName in Directory.GetFiles("C:''ITRS_equipment_log''", "*.txt"))
{
using (StreamReader sw = new StreamReader(fileName))
{
string Description = sw.ReadLine();
bool InStock = sw.ReadLine().Trim() == "1";
if (Description.Contains(comboBox1.Text) && InStock == true)
{
richTextBox1.AppendText("Item '" + Description + "' is " + (InStock ? "in" : "not in") + " stock.'r'n");
}
}
}
}
每次找到"匹配项"时,都会用更新的值覆盖richTextBox1中的值。 它不只是在第一个文件之后"停止",它只是显示它设置的最后一个值,当它完成对所有文件的运行......
目前还不清楚您希望如何向用户显示此内容...但富文本框可能不是最好的方法。组合框可能会更好。这看起来基本上是你想做的吗?
private void searchButton_Click(object sender, EventArgs e)
{
foreach (string fileName in Directory.GetFiles("C:''ITRS_equipment_log''", "*.txt"))
{
using (StreamReader sw = new StreamReader(fileName))
{
string Description = sw.ReadLine();
bool InStock = sw.ReadLine().Trim() == "1";
if (Description.Contains(comboBox1.SelectedText))
{
richTextBox1.AppendText("Item '" + Description + "' is " + (InStock ? "in" : "not in") + " stock.'r'n");
}
}
}
}