私は入力を受け取り、.csvファイルに変換しようとしています。次に、そのフォルダのディレクトリを作成し、そのファイルをディレクトリに保存します。コードを実行すると、ディレクトリとファイルを作成できます。しかし、これは私がボタンをクリックした後に起こるはずです。ボタンをクリックすると例外がスローされます。私はWPFとC#でコーディングを使用しています。この例外の原因は何ですか?ここでUnauthorizedAccessExceptionが処理されていません
は、例外が非常に明確であるスニペット
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);
}
あなたのアプリが昇格していない場合、プログラムファイルにフォルダを作成することはできません。代わりにユーザフォルダにフォルダを作成する – rene
Windows Vista以降、アプリケーションはデフォルトでは、C:\ Program FilesとC:\ Program Files(x86)への書き込みアクセス権が与えられていない。ファイルを書き込む正しい場所は '%APPDATA%\' –
です。ユーザーにはC:\ Program Filesフォルダが許可されていません。他の権限のあるフォルダに書き込むか、C:\ Program Filesにアクセスする権限を与えられたユーザーとして実行する必要があります。 – Nemo