File.ExistsとFileInfo.Existsは、ファイルが存在し、権限レベルが十分であるかどうかをチェックするため、この場合は使用できません。ファイルを読み取る権限があるかどうかを確認せずにファイルが存在するかどうかをチェックする方法は?
許可に関係なくファイルが存在するかどうかを簡単に確認する方法はありますか?
問題のコンテキストは、ユーザーが実際に既存のファイルを上書きするかどうかを尋ねる一般的なものです。自分が所有していないファイルを上書きすることはめったにありません.File.Existsを呼び出すと、そのケースが見つからず、存在しないファイルと混同されます。
あなたはカントは、ファイルが存在しないか、存在するかどうかをチェックすることができるだろうかを確認特定のディレクトリへのアクセス権を持っていない場合。しかし、あなたはおそらくあなたが[アクセスかどうか]を確認することができます(http://www.eggheadcafe.com/microsoft/Csharp/30271754/check-users-directory-permissions.aspx) – Magnus
マグナス:そうだけど、私は考えていたあなたがディレクトリへの権利を持っているが、そこにあるファイルではない場合。 – Joh
File.ExistsのMSDNドキュメントが間違っているようです。 http://msdn.microsoft.com/en-us/library/system.io.file.exists.aspxは、 "呼び出し元に指定されたファイルを読み取るための十分な権限がない場合、例外はスローされず、このメソッドはfalseを返しますパスの存在にかかわらず。 "私はWindows 7のプロとFile.Existsでテストしましたが、私は自分自身の読み取り権を拒否したファイルに対してtrueを返します。 – Joh