C# (.NET 4.0) を使用して、リムーバブル ドライブが読み取り専用かどうかを判断しています。このページからの次のコードを使用して、ディレクトリが読み取り専用かどうかを判断するプロセスを詳しく説明している多くの記事を読みました。
var di = new DirectoryInfo(folderName);
if(di.Exists)
{
if (di.Attributes.HasFlag(FileAttributes.ReadOnly))
{
//IsReadOnly...
}
}
ただし、ルートディレクトリを使用してこの方法を試してみましたが、ドライブ全体が読み取り専用であるにもかかわらず (ロックされた SD カードを使用しています)、行に到達することはありません//IsReadOnly...
。ドライブの内容は保証できません (空であるか、非常に多くのファイルが含まれている可能性があります)。そのため、サブディレクトリをテストすることは問題外です。小さなファイルをドライブに書き込んで例外をキャッチするのが簡単なテストであることはわかっていますが、別の方法をお勧めします。
この問題の良い解決策を知っている人はいますか?