0

書き込み許可を確認するための書き込みテストを作成します。テストは

  try
        {
            string filePath = String.Format(Path.Combine(path, Path.GetRandomFileName()));
            File.WriteAllText(filePath, @"0");
            File.Delete(filePath);
            return true;
        }
        catch (IOException uex)
        {
         //SomeErrorMessage
        } 
         catch (SecurityException uex)
        {
        }
        catch (UnauthorizedAccessException uex)
        {
        }

通常のユーザーとして C:\Windows\System32 に書き込もうとすると (ここでは書き込めません)、ファイル writeAllText はそのディレクトリに書き込めるように見えますが、削除行にコメントを付けると表示されません。そのディレクトリ内のファイル(管理者としてもプロンプトを使用します)、File.ReadAllText(filePath)を書いた場合、そのファイルを読み取ることができます。C:\Windows\System32 にファイルを作成できる理由と、そのファイルを File.ReadAllText(filePath) でのみ表示できるのはなぜですか?

4

0 に答える 0