我有这样的功能:如何将列表中的值写入文本文件?
private void button6_Click(object sender, EventArgs e)
{
crawlLocaly1 = new CrawlLocaly();
crawlLocaly1.StartPosition = FormStartPosition.CenterParent;
DialogResult dr = crawlLocaly1.ShowDialog(this);
if (dr == DialogResult.Cancel)
{
crawlLocaly1.Close();
}
else if (dr == DialogResult.OK)
{
//LocalyKeyWords.Add(crawlLocaly1.getText() + "," + mainUrl);
if(LocalyKeyWords.ContainsKey(mainUrl))
{
LocalyKeyWords[mainUrl].Add(crawlLocaly1.getText());
}
else
{
LocalyKeyWords.Add(mainUrl, new List<string>(new string[]
{
crawlLocaly1.getText()
}
));
}
crawlLocaly1.Close();
}
}
当用户类型的东西文本框,然后点击OK因此结果在作为字典的LocalKeyWords>是这样的:
在索引0会有例如: http://www.google.com“”谷歌 如果谷歌是属于http://www.google.com
现在,如果用户输入一个关键词,一旦到URL将进入第二部分,如果用户更改密钥对同一个URL关键,这将进入第一部分e如果用户更改了网址,那么它会转到第二部分。
第一次为网址添加密钥,第二次更新同一网址的密钥或为新网址添加新密钥。
所以列表应该是这样的:
index 0 http://www.google.com,google
index 1 http://www.microsoft.com,com
等等...... 而这个功能是否正常工作我只需要在列表中添加到一个文本文件在硬盘上。 因此,在Form1级别我有Streamwriter w = new streamwriter(@“d:\ test.txt”);
事实上,当我使用我在左边的网址看到那么列表中的一个断点,然后我看到别的东西不关键字:
[0] = {[http://www.google.co.il, System.Collections.Generic.List`1[System.String]]}
它不是一个错误或东西,它只是在我看到它的断点上。而不是System.Collections.Generic.List`1 [System.String]我假设看到关键字,例如:谷歌
无论如何我写的列表值的文本文件,所以文本文件格式将像这样:
0 http://www.google.com,google
1 http://www.microsoft.com,hello
2 http://www.cnet.com,Daniel
0 1 2存在的指数法和url的存在的mainUrl和右SIE存在的键(关键字用户输入)。
然后我该如何读取文本文件中的值到lixtBox? 所以,当我在构造函数中运行的程序会读取文本文件,并告诉我在ListBox这种格式:
url: http://www.google.com --- keword: google
url: http://www.microsoft.com --- keword: hello
url: http://www.cnet.com --- keword: Daniel
所以在列表框中,用户将看到它更好然后在文本文件中。