因此,当我使用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
答案 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();
文件中的文本是否包含文件的路径?