使用openfiledialog打开特定文件

时间:2013-10-22 01:08:18

标签: c# openfiledialog

因此,当我使用openfiledialog导航到该文件时,我正在尝试打开文本文件。这是我的代码:

        string path;
        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            System.IO.StreamReader sr = new
               System.IO.StreamReader(openFileDialog1.FileName);
            path = sr.ReadToEnd();
            sr.Close();
        }

它无法打开,这是我得到的错误:  i.imgur.com/0eVWFAJ.png

2 个答案:

答案 0 :(得分:2)

我想您可能想要使用默认应用程序打开该文件。在这种情况下,试试这个:

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
    System.Diagnostics.Process.Start(openFileDialog1.FileName);
}

openFileDialog1.FileName包含完整路径的字符串。

如果不是打开它,而是将所选文件的内容加载到另一个字符串中,请尝试:

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
    var fileContents = System.IO.File.ReadAllText(openFileDialog1.FileName);
    ...
    // your code to work with the string here...
}

答案 1 :(得分:0)

如果您只想在新窗口中打开文件,则应使用Diagnostics.Process

就像@Baldric所展示的那样,如果你想保存文件名。

string path = "";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
    path = openFileDialog1.FileName;
    System.Diagnostics.Process.Start(path);
}

我在你的代码中注意到了另外一件事。 你想要返回文件名,但你使用

path = sr.ReadToEnd();

文件中的文本是否包含文件的路径?