我尝试接受输入并将其转换为.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);
}
答案 0 :(得分:0)
异常非常清楚。用户无权创建指定的目录。
鉴于该文件夹是&#34; C:\ Program Files \ Bank_Data&#34;如果普通用户不具备创建文件或目录的权限,而管理员用户(您可能是)将会这样做。
您需要选择所有用户有权存储数据的文件夹,默认情况下为%APPDATA%\<your app>
。