UnauthorizedAccessException未处理

时间:2016-04-08 13:53:04

标签: c# wpf

我尝试接受输入并将其转换为.csv文件,然后为该文件夹创建一个目录并将该文件保存在目录中。运行代码后,我就可以创建目录和文件了。但是,这应该是在我点击按钮之后发生的。单击按钮后立即抛出异常。我在C#中使用WPF和编码。什么会导致这个例外?

这是一个片段

private void updateBANKEevent(object sender, RoutedEventArgs e)
    {

        //Convert input to CSV format
        string userInput = tellerID.Text + "," + vaultSerial.Text + "," + QR.Text;
        var bnkDir = @"C:\Program Files\Bank_Data";


        //generate headers for CSV file
        if (!Directory.Exists(bnkDir))
        {
            string bnkHeader = "tellerID" + "," + "Vault Serial Number" + "," + "QR Code" + Environment.NewLine;
            Directory.CreateDirectory(bnkDir); <--Exception is thrown here
            File.WriteAllText(System.IO.Path.Combine(bnkDir,"Bank_Data.csv"), bnkHeader + userInput);

        }

        // Append new input to existing file
        File.AppendAllText(System.IO.Path.Combine(bnkDir),userInput + Environment.NewLine);
        }

1 个答案:

答案 0 :(得分:0)

异常非常清楚。用户无权创建指定的目录。

鉴于该文件夹是&#34; C:\ Program Files \ Bank_Data&#34;如果普通用户不具备创建文件或目录的权限,而管理员用户(您可能是)将会这样做。

您需要选择所有用户有权存储数据的文件夹,默认情况下为%APPDATA%\<your app>