为什么文件访问被拒绝

时间:2014-06-18 14:38:18

标签: c# file

我有以下代码......

  • 检查文件夹是否存在
  • 如果存在,请检查文件是否存在
  • 如果文件存在,请阅读文件中的所有行
  • 读完所有行后,在消息框中显示该行的长度

代码:

private void button2_Click(object sender, EventArgs e)
{
    strPath = @"C:\QRXS";
    string strFile = @"C:\QRXS\download.lst";
    if (Directory.Exists(strPath))
    {
        try
        {
            if (File.Exists(strFile))
            {
                try
                {
                    ln = File.ReadAllLines(strPath);
                }
                catch (Exception ex)
                {
                    // inform user or log depending on your usage scenario
                    MessageBox.Show(ex.Message, "FILE ACCESS");
                }

                if (ln != null)
                {
                    MessageBox.Show(ln.Length + "");
                    // do something with lines
                }
            }
        }
        catch (Exception ce)
        {
            MessageBox.Show(ce.Message, "FOLDER ACCESS");
        }
    }
}

每次我运行应用程序(也使用Run as Administrator)时,都会继续调用以下行:

MessageBox.Show(ex.Message, "FILE ACCESS");

我该如何解决?

2 个答案:

答案 0 :(得分:7)

替换:

File.ReadAllLines(strPath);

使用:

File.ReadAllLines(strFile);

原因:strPath表示目录。你试图把它的内容看作是一个文件,这显然是行不通的。

答案 1 :(得分:2)

您需要使用:

File.ReadAllLines(strFile);