내 .NET 2.0 응용 프로그램에서 디렉터리에 파일을 만들고 쓸 수있는 충분한 권한이 있는지 확인해야합니다. 이를 위해 파일을 생성하고 단일 바이트를 쓰려고 시도한 다음 권한이 있는지 테스트하기 위해 나중에 자신을 삭제하는 다음 기능이 있습니다.
확인하는 가장 좋은 방법은 실제로 발생하는 예외를 포착하여 실제로 시도하는 것이라고 생각했습니다. 나는 일반적인 Exception catch에 대해 특별히 만족스럽지 않습니다. 그래서 더 나은 방법이 있습니까?
private const string TEMP_FILE = "\\tempFile.tmp";
/// <summary>
/// Checks the ability to create and write to a file in the supplied directory.
/// </summary>
/// <param name="directory">String representing the directory path to check.</param>
/// <returns>True if successful; otherwise false.</returns>
private static bool CheckDirectoryAccess(string directory)
{
bool success = false;
string fullPath = directory + TEMP_FILE;
if (Directory.Exists(directory))
{
try
{
using (FileStream fs = new FileStream(fullPath, FileMode.CreateNew,
FileAccess.Write))
{
fs.WriteByte(0xff);
}
if (File.Exists(fullPath))
{
File.Delete(fullPath);
success = true;
}
}
catch (Exception)
{
success = false;
}
}