【发布时间】:2015-07-02 13:46:24
【问题描述】:
我正在使用以下代码打开多个 XML 文件并读取文件的内容,但它不起作用。
OpenFD.Filter = "XML Files (*.xml)|*.xml";
OpenFD.Multiselect = true;
if (OpenFD.ShowDialog() == DialogResult.OK)
{
foreach (string file in OpenFD.FileNames)
{
MessageBox.Show(file);
System.IO.Stream fileStream = OpenFD.OpenFile();
System.IO.StreamReader streamReader = new System.IO.StreamReader(fileStream);
using (streamReader)
{
MessageBox.Show(streamReader.ReadToEnd());
}
fileStream.Close();
}
}
出于测试目的,我创建了两个 xml 文件。
- file1.xml(其内容为“string1”)
- file2.xml(其内容为“string2”)
当我打开对话框并选择这两个文件时,我收到四条消息。
- file1.xml
- 字符串1
- file2.xml
- 字符串1
即使 OpenFileDialog 正确读取文件名,我也无法读取第二个文件。它只读取第一个文件。所以我猜这个问题与StreamReader有关,而不是与OpenFileDialog有关。我做错了什么?
【问题讨论】:
标签: c# streamreader openfiledialog