[英]C# - Access negated to path - openFileDialog
我是开发新手,我制作了一个简单的应用程序来尝试打开文件,该应用程序返回一个错误:“对路径的访问无效”,但我是管理员,UAC被禁用,并且我是唯一的帐户,为什么它给了我这个错误吗?
这是我的代码:
private void button1_Click(object sender, EventArgs e)
{
Stream myStream = null;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "c:\\";
openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
if ((myStream = openFileDialog1.OpenFile()) != null)
{
using (myStream)
{
// Insert code to read the stream here.
string sourceCode = File.ReadAllText(Path.GetDirectoryName(openFileDialog1.FileName));
string colorizedSourceCode = new CodeColorizer().Colorize(sourceCode, Languages.Java);
textBox1.Text = colorizedSourceCode;
}
}
}
catch (Exception ex)
{
MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
}
}
}
在我看来,您正在尝试打开文件夹中的流。
尝试更换它
string sourceCode = File.ReadAllText(Path.GetDirectoryName(openFileDialog1.FileName))
有了这个:
string sourceCode = File.ReadAllText(openFileDialog1.FileName)
您打开流错误。
也许尝试这样的事情?
private void button1_Click(object sender, EventArgs e)
{
Stream myStream = null;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "c:\\";
openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
if ((myStream = openFileDialog1.OpenFile()) != null)
{
using (myStream)
{
string strfilename = openFileDialog1.FileName;
string filetext = File.ReadAllText(strfilename);
textBox1.Text = filetext;
button1.PerformClick();
}
}
}
catch (Exception ex)
{
MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.